Что нового

Отлов событий в IE

sokolovska

Новичок
Сообщения
36
Репутация
0
С первого раза не получилось, но я не сдаюсь. Подскажите пожалуйста, как например отловить событие фокус? Вроде бы я неправильно указываю параметры..

Код:
$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().." можно указывать событие - клик, фокус и другие (пока правда не понял где взять список)
 
Верх