IE noch aktiv ?

  • komme einfach nicht dahinter wie abfragen

    [autoit]

    #include <IE.au3>

    [/autoit][autoit][/autoit][autoit]

    $oIE=_IECreate("http://www.hallo-welt.de")
    $nIE=WinGetHandle($oIE)

    [/autoit][autoit][/autoit][autoit]

    ;der Browser wird noch innerhalb der Sleep-Zeit
    ;von Hand geschlossen/beendet
    Sleep(5000)

    [/autoit][autoit][/autoit][autoit]

    If WinActive($nIE)<>0 Then
    ; If WinActive($oIE)<>0 Then
    ; If WinExists($oIE) Then
    ; If WinExists($nIE) Then
    ConsoleWrite("Browser aktiv " & @CRLF)
    Else
    ConsoleWrite("Browser beendet " & @CRLF)
    EndIf
    ;ende

    [/autoit]

    Einmal editiert, zuletzt von supernova (1. Mai 2013 um 10:23)

  • sorry, habe der einfachheit halber das meiste weggelassen.

    da wo ich es anwenden will ist der titel vom browserfenster nicht bekannt, repektive kann nicht so abgefragt werden, dass das resultat 100%-klarheit bringt.

  • ist bereits der IE durch ein anderes programm oder einfach so anderweitig geöffnet, wird es schwierig direkt auf der systemebene zu filtern, daher denke ich, es muss irgendwie über das in autoit erzeugte objekt $oIE gehen.

    könnte man davon die PID herausholen, käme ProcessClose() in frage.

    damit will ich aber keine falsche spur legen. es geht nicht um _IEquit().

    Einmal editiert, zuletzt von supernova (30. April 2013 um 18:07)

  • Das Objekt $oIE bleibt innerhalb von AutoIt erhalten, auch wenn der Browser manuell geschlossen wird.

    Man kann also jederzeit via Abfragen/beauftragen von diesem mehr in Erfahrung bringen.

    Allerdings, wenn er geschlossen ist und man das macht, so zeigt sich in der Console eine Fehlermeldung/Hinweis.

  • wie gango sagt, es kommt ein unschöner hinweis.

    man kann aber gleich nach dem createten von $oIE auch gleich sein handle sichern.

    mit diesem handle sind dann fehlerfreie manipulationen möglich.

    hier das beispiel dazu:

    [autoit]

    #include <IE.au3>

    [/autoit][autoit][/autoit][autoit]

    $oIE=_IECreate("http://www.hallo-welt.de")
    $nIE=_IEPropertyGet($oIE,"hwnd")

    [/autoit][autoit][/autoit][autoit]

    ;der Browser wird noch innerhalb der Sleep-Zeit
    ;von Hand geschlossen/beendet
    Sleep(5000)

    [/autoit][autoit][/autoit][autoit]

    If WinActive($nIE)<>0 Then
    ConsoleWrite("Browser aktiv " & @CRLF)
    Else
    ConsoleWrite("Browser beendet " & @CRLF)
    EndIf

    [/autoit][autoit][/autoit][autoit]

    ;ende

    [/autoit]