Имя пользователя:
Пароль:
 

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

Googler


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

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


morgan1991, на базе примера из справки, только для IE:

- отслеживаем и сохраняем историю навигации;
- блокируем попытки выйти в форум;
- выход из скрипта при закрытии окна браузера.

Код: Выделить весь код
; ObjEvent example

$oIE = ObjCreate("InternetExplorer.Application.1")         ; Create Internet Explorer application
$SinkObject=ObjEvent($oIE,"IEEvent_","DWebBrowserEvents2") ; Assign events to UDFs starting with IEEvent_
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")           ; Initialize a COM error handler

; Do some browsing activities
$oIE.Visible=1
$oIE.RegisterAsDropTarget = 1
$oIE.RegisterAsBrowser = 1
$oIE.Navigate( "http://www.AutoItScript.com/" )

While 1
    Sleep(100)
WEnd

; Обработка события навигации
Func IEEvent_BeforeNavigate2 ($obj, $url)
    Local $url_bk = "http://www.autoitscript.com/forum"

        ConsoleWrite($url)
    If StringRegExp($url, "^\Q"& $url_bk &"\E") Then
        ConsoleWrite(" - BLOCKED!!!")
        $obj.Stop
    EndIf

    ConsoleWrite(@CRLF)
    Return $obj
EndFunc

; Обработка события закрытия окна браузера
Func IEEvent_OnQuit ()
    Exit
EndFunc

; This is my custom defined error handler
Func MyErrFunc()

  Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !"      & @CRLF  & @CRLF & _
             "err.description is: "    & @TAB & $oMyError.description    & @CRLF & _
             "err.windescription:"     & @TAB & $oMyError.windescription & @CRLF & _
             "err.number is: "         & @TAB & hex($oMyError.number,8)  & @CRLF & _
             "err.lastdllerror is: "   & @TAB & $oMyError.lastdllerror   & @CRLF & _
             "err.scriptline is: "     & @TAB & $oMyError.scriptline     & @CRLF & _
             "err.source is: "         & @TAB & $oMyError.source         & @CRLF & _
             "err.helpfile is: "       & @TAB & $oMyError.helpfile       & @CRLF & _
             "err.helpcontext is: "    & @TAB & $oMyError.helpcontext _
            )
Endfunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:18, 07-08-2009 | #3