Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата batya85:
Нужен простой скрипт который будет постоянно сидеть в памяти (запущен) и ждать появления определенного окна. »
Попробуйте так:
Код: Выделить весь код
#NoTrayIcon

Global $fClick = True, _
        $sTitle = '[TITLE:Весовой модуль; CLASS:#32770]'

HotKeySet('{Esc}', '_Exit') ;Esc - выход
If @Compiled Then
    _RegRun() ;для записи скрипта в автозагрузку
EndIf
While 1
    If WinExists($sTitle) And BitAND(WinGetState($sTitle), 2) Then
        If $fClick Then
            _Click()
            If Not @error Then
                $fClick = False
            EndIf
        EndIf
    Else
        $fClick = True
    EndIf
    Sleep(100)
WEnd

Func _Exit()
    Exit
EndFunc   ;==>_Exit

Func _RegRun()
    Local $sRegRun = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'

    If RegRead($sRegRun, @ScriptName) = '' Or RegRead($sRegRun, @ScriptName) <> @ScriptFullPath Then
        RegWrite($sRegRun, @ScriptName, 'REG_SZ', @ScriptFullPath)
    EndIf
EndFunc   ;==>_RegRun

Func _Click()
    Local $sLogin = 'digi'

    If Not ControlClick($sTitle, '', '[CLASS:Button; INSTANCE:1]') Then Return SetError(1)
    If WinExists($sTitle) Then Return SetError(1)
    Send($sLogin)
    Sleep(100)
    Send('{TAB}')
    Sleep(100)
    Send($sLogin)
    Sleep(100)
    Send('{ENTER}')
    ;здесь бы проверку сделать, что-то должно измениться.
    Return SetError(0)
EndFunc   ;==>_Click

Последний раз редактировалось madmasles, 13-02-2011 в 19:20. Причина: изменил код

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:13, 13-02-2011 | #4