Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)

Модерирует : gyra, Maz

Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

 

Код:
#include-once
 
If Not IsDeclared("WM_USER") Then Global Const $WM_USER = 0x0400
 
Global $vINTERACT_Msg           = -1
Global $aMAIN_FUNCTIONS         = -1
Global $h_MAIN_INTERACT_GUI     = 0
Global $ah_INTERACT_TIMER[2]    = [-1, -1]
 
Func OnAutoItExit()
    If $ah_INTERACT_TIMER[0] <> -1 Then _TimerStop($ah_INTERACT_TIMER[0], $ah_INTERACT_TIMER[1])
EndFunc
 
Func
_Interaction_Handler($hWnd, $MsgID, $WParam, $LParam)
    If $vINTERACT_Msg = -1 Then Return
 
    For
$i = 0 To UBound($aMAIN_FUNCTIONS)-1
        If $aMAIN_FUNCTIONS[$i][0] = $vINTERACT_Msg Then
            $vINTERACT_Msg = -1
 
            Call($aMAIN_FUNCTIONS[$i][1], $aMAIN_FUNCTIONS[$i][2])
            If @error Then Call($aMAIN_FUNCTIONS[$i][1])
 
            ExitLoop
        EndIf
    Next

 
    $vINTERACT_Msg = -1
EndFunc
 
Func
_AutoItSetInteraction($hWnd=0, $MsgID=0, $WParam=0, $LParam=0)
    If Not IsHWnd($hWnd) Then
        If Not
IsArray($MsgID) Then
            GUIRegisterMsg($WM_USER, "")
            If IsHWnd($h_MAIN_INTERACT_GUI) Then GUIDelete($h_MAIN_INTERACT_GUI)
 
            _TimerStop($ah_INTERACT_TIMER[0], $ah_INTERACT_TIMER[1])
 
            Return
        EndIf

 
        $ah_INTERACT_TIMER = _TimerStart("_Interaction_Handler", 10)
        $aMAIN_FUNCTIONS = $MsgID
 
        $h_MAIN_INTERACT_GUI
= GUICreate($hWnd)
        GUIRegisterMsg($WM_USER, "_AutoItSetInteraction")
 
        Return
    EndIf

 
    $vINTERACT_Msg = BitAND($LParam, 0xFFFF)
EndFunc
 
Func
_TimerStart($sFunction, $iTime=250)
    Local $hCallBack = DllCallbackRegister($sFunction, "none", "hwnd;int;int;dword")
 
    Local $aDll = DllCall("user32.dll", "int", "SetTimer", _
        "hwnd", 0, _
        "int", TimerInit(), _
        "int", $iTime, _
        "ptr", DllCallbackGetPtr($hCallBack))
 
    Local $aRet[2] = [$hCallBack, $aDll[0]]
    Return $aRet
EndFunc
 
Func
_TimerStop($hCallBack, $hTimer)
    DllCallBackFree($hCallBack)
    Local $aRet = DllCall("user32.dll", "int", "KillTimer", "hwnd", 0, "int", $hTimer)
    Return $aRet[0]
EndFunc

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 16:59 31-03-2008 | Исправлено: ViSiToR, 03:00 02-04-2008
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)
Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru