Код:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#Include <date.au3>
#include <GuiEdit.au3>
#include <MouseSetOnEvent_UDF.au3>
#include <WinAPIEx.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Test", 208, 278, 419, 182)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$Edit1 = GUICtrlCreateEdit("", 16, 8, 177, 233, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
GUICtrlSendMsg($Edit1, $EM_LIMITTEXT, -1, 0)
$Start = GUICtrlCreateButton("Start",20,250)
GUICtrlSetOnEvent($Start, "Start")
$Close = GUICtrlCreateButton("Close",60,250)
GUICtrlSetOnEvent($Close, "CLOSEClicked")
GUISetState(@SW_SHOW)
While 1
Sleep(100)
WEnd
Func Start()
Sleep(100)
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_WinGetInfo")
EndFunc
Func CLOSEClicked()
Exit
EndFunc
Func _WinGetInfo()
Local $hwnd
Sleep(100)
$titl = WinGetTitle( "[ACTIVE]" )
$hWnd = WinGetHandle($titl)
$Wklass = _WinAPI_GetClassName($hWnd)
GUICtrlSetData($Edit1, $titl &@CRLF&@CRLF,1)
GUICtrlSetData($Edit1, $Wklass &@CRLF,1)
EndFunc
Я предпологал, что это только задержка в ожидании клика, но как только скрипт доходит до _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_WinGetInfo"), все дальнейшие клики приводят к запуску _WinGetInfo(). Как сделать так чтоб функция отработала и больше не реагировала на клики, до следущего вызова?