IE kommt nicht wieder hoch

  • [autoit]


    #include <ie.au3>
    _IECreate("www.google.de")
    Send("Hello world")
    Sleep(2000)
    WinSetState("Google - Windows Internet Explorer", "", @SW_MINIMIZE)
    Sleep(2000)
    WinSetState("Google - Windows Internet Explorer", "", @SW_RESTORE)
    Sleep(2000)
    WinActivate("Google - Windows Internet Explorer")

    [/autoit]


    Wenn ich das Script ausführe minimiert sich der der IE aber er kommt nicht wieder hoch. Was mit Restore doch funktinieren sollte.

    Ich versteh es nicht. Wenn ich das gleiche nur mit Notepad mache funktioniert es.

    Ich hoffe Ihr könnt mir helfen.

    Gruß

    Norman

  • Spoiler anzeigen
    [autoit]

    #Region - Timestamp
    ;2011-07-05 04:21:09
    #EndRegion
    Opt("WinTitleMatchMode", 2)
    #include <ie.au3>
    _IECreate("www.google.de")
    Send("Hello world")
    Sleep(2000)
    WinSetState("Internet Explorer", "", @SW_MINIMIZE)
    Sleep(2000)
    WinSetState("Internet Explorer", "", @SW_RESTORE)
    Sleep(2000)
    WinActivate("Internet Explorer")

    [/autoit]


    Du bist vlt. einfach nur zu genau bei der Angabe des Fenstertitels. So geht's bei mir.

  • Danke für deine Antwort.

    Bei mir macht er es einfach nicht.

    Habe mal einen Screenshot rangehängt was bei mir für ein Fenster geöffnet wird. [Blockierte Grafik: http://www.abload.de/img/iek73k.jpg]


    Das komische ist aber wenn ich mit der Maus unten bei der Taskleiste auf das Symbol gehe wird mir das IE Fenster richtig angeziegt klicke ich aber drauf kommt das was auf dem Screenshot zusehen ist.


    Gruß Norman

  • Mit Fenstertiteln zu arbeiten ist nicht die ideale Lösung.
    Wenn z.B. mehrere Fenster mit dem selben Titelanfang existieren weiß man nicht mehr welches für die Aktion genommen wird.
    Das IE-Objekt liefert uns doch aber netterweise ein Window-Handle zurück.
    Damit wird das Fenster eindeutig bestimmt.
    Aber auch sonst sollte man kein Send in einem IE nutzen wenn man doch direkt die IE-Funktionen nutzen kann.
    Bisschen umgeschrieben wird dein kleines Beispielskript schon etwas stabiler:

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    Global $o_IE, $h_IeHandle
    OnAutoItExitRegister("raus")

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

    $o_IE = _IECreate("www.google.de")
    $h_IeHandle = HWnd($o_IE.HWND) ; Bestimme das Window-Handle des IE-Fensters
    _IELoadWait($o_IE) ; wartet bis Google vollständig geladen wurde
    $o_GooForm = _IEFormGetObjByName($o_IE, "f") ; Das Form-Element wo die Google Suchzeile drin steckt
    $o_GooSuche = _IEFormElementGetObjByName($o_GooForm, "q") ; die Suchzeile von Google
    _IEFormElementSetValue($o_GooSuche, "Hello World") ; Trage Hello-World in die so eben ermittelte Suchzeile
    WinSetState($h_IeHandle, "", @SW_MINIMIZE)
    Sleep(2000)
    WinSetState($h_IeHandle, "", @SW_MAXIMIZE)
    Sleep(2000)
    WinActivate($h_IeHandle)

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

    Func raus()
    _IEQuit($o_IE)
    EndFunc ;==>raus

    [/autoit]
  • Danke für deine Antwort.
    Soweit bin ich leider noch nicht das ich sowas selber schreiben kann. Weil schreiben heißt verstehen ;) .... Bin ja ein Neuling auf dem Gebiet.

    Zu dem Zeitpunkt wo das Script läuft ist kein weiteres IE Fenster offen.

    Es muss doch einen Grund geben warum es bei Notepad, Excel und Co. funktioniert und bei IE nicht.

    Gruß Norman