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

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

Ветеран


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

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


evg64, начиная с IE5, сие невозможно по причинам применяемой в IE модели безопасности. В принципе, можно попробовать пристыковаться к существующему экземпляру IE, перебрав коллекцию окон Проводника (на XP и IE6 такое работает):
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Local $oShell = ObjCreate("Shell.Application")
Local $oShellWindows = $oShell.Windows
Local $i, $oWindow, $oIE

If $oShellWindows.Count > 0 Then
    For $i = 0 To $oShellWindows.Count - 1
        $oWindow = $oShellWindows.Item($i)
        
        ; Для отладки:
        ConsoleWriteError(($i + 1) & " [" & ObjName($oWindow.Application.Document) & "]" & @CRLF)
        
        If ObjName($oWindow.Application.Document) = "DispHTMLDocument" Then
            $oIE = $oWindow.Application
            
            ; После первого же найденного окна IE — выходим из цикла
            ExitLoop
        EndIf
    Next
    
    If IsObj($oIE) Then
        ConsoleWrite($oIE.Document.Title & " [" & $oIE.Document.URL & "]" & @CRLF)
    EndIf
EndIf

; …

Exit(0)
Результат…
Код: Выделить весь код
Яндекс [http://www.ya.ru/]
1 [IShellFolderViewDual2]
2 [DispHTMLDocument]
На VBScript вместо «DispHTMLDocument» возвращается «HTMLDocument»
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:31, 15-08-2010 | #2