sokolovska
Новичок
- Сообщения
- 36
- Репутация
- 0
С первого раза не получилось, но я не сдаюсь. Подскажите пожалуйста, как например отловить событие фокус? Вроде бы я неправильно указываю параметры..
Нашел еще один пример, тут я уже немного становится яснее:
В общем, как всегда в 99% случаев решение нашел сам:
Может кому-то будет интересно. В "..Func B1_onfocus().." можно указывать событие - клик, фокус и другие (пока правда не понял где взять список)
Код:
$oIE = ObjCreate("InternetExplorer.Application.1") ; Создаёт приложение Internet Explorer
$SinkObject = ObjEvent($oIE, "IEEvent_Click", "focus") ; привязываем событие к функции
; Некоторая браузерная деятельность
$oIE.Visible = 1
$oIE.RegisterAsDropTarget = 1
$oIE.RegisterAsBrowser = 1
$oIE.Navigate("http://autoit-script.ru")
Sleep(30000) ; Дайте время для загрузки веб-страницы
$oIE.Quit ; Выход IE
$oIE = 0
Exit
; Одна из многих функций Internet Explorer, происходящих по событию
Func IEEvent_Click()
MsgBox(16,'','Событие: фокус')
EndFunc
Нашел еще один пример, тут я уже немного становится яснее:
Код:
#include <GUIConstantsEx.au3>
#include <IE.au3>
Global $oIE = _IECreateEmbedded()
ObjEvent($oIE, "_Evt_", "DWebBrowserEvents2")
$hGUI = GUICreate("Test", 1000, 500)
GUICtrlCreateObj($oIE, 10, 10, 980, 480)
GUISetState(@SW_SHOW)
_IENavigate($oIE, "http://www.w3schools.com/html/tryit.asp?filename=tryhtml_link_target", 0)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Volatile Func _Evt_NewWindow3($ppDisp, ByRef $Cancel, $dwFlags, $bstrUrlContext, $bstrUrl); Как узнать количество параметров?
;Any link being sent to a new window will be canceled and directed back to the embedded IE object
ConsoleWrite("NewWindow3 attempted to open a new window @ " & $bstrUrl & @CRLF)
_IENavigate($oIE, $bstrUrl, 0)
$Cancel = True
EndFunc ;==>_Evt_NewWindow3
В общем, как всегда в 99% случаев решение нашел сам:
Код:
$oIE = _IEAttach("Русское")
$oB1 = _IEGetObjByName($oIE, "search")
$oSink1 = ObjEvent($oB1, "B1_")
While 1
Sleep(100)
WEnd
Func B1_onfocus()
MsgBox(0, "B1", "Button 1 clicked")
EndFunc
Может кому-то будет интересно. В "..Func B1_onfocus().." можно указывать событие - клик, фокус и другие (пока правда не понял где взять список)