-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Нажатие кнопки в программе
Приветствую
Помогите решить вопрос нужен маленький скрипт
который нажимал кнопу на старт(она же после нажатия переходит в стоп) dowloadmaster через определеный период времени
сколько не пытался но програмист из меня некудышный. был бы благодарен за помощь.
может кто подскажет или хоть укажет направления где есть похожие примеры.
кнопку нужно нажимать имено в программе.
|
bestkz,
Попробуйте так получить информацию:
Код:
#include <GuiToolbar.au3>
#include <GuiListView.au3>
$sDM = '[Class:TMainForm;Title:Download Master]'
$sPathDM = @ProgramFilesDir & '\Download Master\dmaster.exe'
Run($sPathDM)
WinWait($sDM)
If Not WinActive($sDM) Then WinActivate($sDM)
$hHandleDM = WinWaitActive($sDM)
$hToolbar = ControlGetHandle($hHandleDM, '', '[CLASS:TToolBar; INSTANCE:1]')
$hListView = ControlGetHandle($hHandleDM, '', '[CLASS:TListView; INSTANCE:2]')
$iCountTB = _GUICtrlToolbar_ButtonCount($hToolbar)
MsgBox(64, 'Toolbar', 'Кнопок: ' & $iCountTB)
For $i = 0 To $iCountTB - 1
$sText = _GUICtrlToolbar_GetButtonText($hToolbar, $i)
If $sText Then
$bEnable = _GUICtrlToolbar_IsButtonEnabled($hToolbar, $i)
MsgBox(64, 'Индекс: ' & $i, 'Кнопка: ' & $sText & @CRLF & 'Активна: ' & $bEnable)
;If $bEnable And $sText = 'Старт' Then
; _GUICtrlToolbar_ClickButton($hToolbar, $i)
;EndIf
EndIf
Next
$iCountItem = _GUICtrlListView_GetItemCount($hListView)
$iCountColumn = _GUICtrlListView_GetColumnCount($hListView)
MsgBox(64, 'ListView', 'Строк: ' & $iCountItem & @CRLF & 'Столбцов: ' & $iCountColumn)
For $i = 0 To $iCountItem - 1
$sMessage = ''
For $j = 0 To $iCountColumn - 1
$sMessage &= _GUICtrlListView_GetItemText($hListView, $i, $j) & @CRLF
Next
MsgBox(64, 'Индекс: ' & $i, $sMessage)
Next
А дальше делайте то, что Вам надо. Все функции для этого есть.
|
Спасибо немного разобрался тепер все запускается а неподскажете как зделать чтобы скрипт запускался через определеный интервал времени весь скрипт?
|
bestkz,
Sleep(),
TimerInit(), TimerDiff().
Например:
Код:
$iPause = 5 ;секунд
MsgBox(64, 'Sleep()', 'Запускаем паузу на ' & $iPause & ' секунд')
Sleep($iPause * 1000)
MsgBox(64, 'Sleep()', 'Кончилась пауза в ' & $iPause & ' секунд')
MsgBox(64, 'TimerDiff()', 'Запускаем паузу на ' & $iPause & ' секунд')
$iStart = TimerInit()
While 1
If TimerDiff($iStart) >= $iPause * 1000 Then ExitLoop
Sleep(10)
ToolTip(Round(TimerDiff($iStart) / 1000, 2), 0, 0)
WEnd
MsgBox(64, 'TimerDiff()', 'Кончилась пауза в ' & $iPause & ' секунд')
|
Время: 05:20.
© OSzone.net 2001-