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

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

Аватара для Creat0R

Must AutoIt


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

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


Цитата crashtuak:
мне нужно, чтоб сокрытие окон работало в отдельном потоке, а основной скрипт (запуск программы, нажатие кнопок) выполнялся независимо. »
Либо в дополнительном скрипте, либо через callback:

Код: Выделить весь код
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Timers.au3>
;

Opt("WinWaitDelay", 0)

Global $sTitle = "Search Title"
Global $hGUI = GUICreate($sTitle)
Global $iTimer = TimerInit()

_Timer_SetTimer($hGUI, 10, "_CheckWindow_Proc")

While 1
    If TimerDiff($iTimer) >= 2000 Then ;Тут мы имитируем появление тайного окна (ради теста)
        ConsoleWrite("Окно появилось" & @CRLF)
        GUISetState(@SW_SHOW)
        Sleep(2000) ;Спим 2 сек. чтобы убедиться что наш процесс проверки обнаружил окно и скрыл его
        _Timer_KillAllTimers($hGUI)
        Exit
    EndIf

    Sleep(10)
WEnd

Func _CheckWindow_Proc($hWnd, $Msg, $iIDTimer, $dwTime)
    If BitAND(WinGetState($sTitle), 2) Then
        ConsoleWrite("Скрываем окно" & @CRLF)
        WinSetState($sTitle, "", @SW_HIDE)
    EndIf
EndFunc
“Чистый” пример использования:

Код: Выделить весь код
#include <Timers.au3>
;

Opt("WinWaitDelay", 0)

Global $sSearchTitle = "Search Title"
_Timer_SetTimer(0, 10, "_CheckWindow_Proc")

While 1
    ;Тут мы выполняем рутинные операции

    Sleep(10)
WEnd

Func _CheckWindow_Proc($hWnd, $Msg, $iIDTimer, $dwTime)
    If BitAND(WinGetState($sSearchTitle), 2) Then WinSetState($sSearchTitle, "", @SW_HIDE)
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

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

Отправлено: 23:15, 27-07-2009 | #4