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

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

Googler


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

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


Creat0R
Цитата:
Ок, а как это реализовать?
только двумя процессами:
Код: Выделить весь код
#include <GUIConstants.au3>
; Ветвление на "генератор" по параметру командной строки: <time> <hwnd>  TimeDisp_1
If ""&$CmdLine[$CmdLine[0]]='TimeDisp_1' Then TimeDisp_1 ($CmdLine[2], $CmdLine[1])
; Регистрируем свое событие и функцию
GUIRegisterMsg ($WM_USER+1, "TimeProc_1")
$Time_1 = 100 ; период повторения
; Твой ГУИ (без изменений)
Opt("GuiOnEventMode", 1)
$hWndMain=GUICreate("Test")
GUISetOnEvent(-3, "Quit")
GUICtrlCreateMenu("Test Menu")
GUISetState()
; Запускаем генератор событий
ShellExecute (@AutoItExe, '"'& @ScriptFullPath &'" '& $Time_1 &' '& $hWndMain &' TimeDisp_1')
; Пустой цикл
While 1
    Sleep (1000)
Wend
; Код "генератора событий"
Func TimeDisp_1($hWnd, $tWait = 500)
    $hWnd = HWnd($hWnd)
    While WinExists($hWnd)
        Sleep ($tWait)
        $ret = DllCall ("user32.dll", "int", "SendMessage", "hwnd", $hWnd, "int", $WM_USER+1, "int", 0, "ptr", 0 )
    Wend
    Exit
EndFunc
; Функция обработки события
Func TimeProc_1($hWnd, $Msg, $wParam, $lParam)
    ConsoleWrite('*')
EndFunc
; Кусок ГУИ
Func Quit()
    Exit
EndFunc
Цитата:
в отличие от остальных полноценных языков программирования, AutoIt обладает многими ограничениями
все-таки это скриптовый язык, а в своей категории он имхо лучший
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:54, 24-05-2007 | #424