IE-Problem

  • Hiho,

    ich habe mal wieder ein kleines prob. beim pc-start auf der arbeit wird eine ie-instanz geöffnet, an der ich mich automatisch anmelden möchte. leider funktioniert _IEAttach nicht, da überhaupt keine IE-instanz gefunden wird (mit dem letzten bsp aus der hilfe getestet).

    öffne ich manuell eine neue instanz mit der url, funktioniert _IEAttach auch.

    Ich komme an das Fenster-Handle, wenn ich WinGetHandle benutze.

    Wie bringe ich jetzt AutoIt dazu, dieses Handle auch mit den IE-Functions zu nutzen, um so user/pw eintragen zu lassen?

  • Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    Opt('WinTitleMatchMode', 2)

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

    $oIE = _IEAttach(WinGetHandle('Windows Internet Explorer'), 'hwnd')
    If IsObj($oIE) Then MsgBox(64, 'Hurra', 'Mit diesem Objekt kann ich was anfangen!')

    [/autoit]
  • Dann ist nicht leichtes helfen :(

    Auszug aus der _IEAttach-Funktion
    [autoit]

    $h_control = ControlGetHandle($s_string, "", "[CLASS:Internet Explorer_Server; INSTANCE:" & $i_instance & "]")
    $oResult = __IEControlGetObjFromHWND($h_control)
    Opt("WinTitleMatchMode", $iWinTitleMatchMode)
    If IsObj($oResult) Then
    SetError($_IEStatus_Success)
    Return $oResult
    Else
    __IEErrorNotify("Warning", "_IEAttach", "$_IEStatus_NoMatch")
    SetError($_IEStatus_NoMatch, 1)
    Return 0
    EndIf

    [/autoit]

    Demnach, kann das wahrscheinlich das Control [CLASS:Internet Explorer_Server; INSTANCE:" & $i_instance & "] nicht gefunden werden, weil es noch nicht geladen ist. ?(

    Ich würde das Fenster vom Skript schließen lassen und ein neues öffnen um das Problem zu umgehen.