Fenster schließt immer

  • Moin Moin zusammen.

    Wieso schließt das Firefoxfenster immer?

    Spoiler anzeigen
    [autoit]


    If $U_ans = 6 Then
    WinMinimizeAll()
    ;$PID = Run('C:\Program Files\Internet Explorer\iexplore.exe "' & $D_P & '"', "", @SW_SHOW)
    $PID = Run('C:\Program Files (x86)\Mozilla Firefox\firefox.exe "' & $D_P & '"', "", @SW_SHOW)
    WinWaitActive("")
    Local $Handle = WinGetHandle($PID), $sHTML = "", $loop = 0
    While ProcessExists($PID)
    Sleep(3000)
    If ProcessExists($PID) = 0 Then ExitLoop
    If Not StringInStr(WinGetTitle($Handle), "No") And Not StringInStr(WinGetTitle($Handle), "Yes") Then
    If $loop = 5 Then ExitLoop
    $loop = $loop + 1
    Else
    $loop = 0
    EndIf
    If StringInStr(WinGetTitle($Handle), "Danke schön") Then Return 1
    WEnd
    ProcessClose($PID)
    EndIf

    [/autoit]

    Die Seite wird normal aufgebaut, schließt sich aber nach wenigen Sekunden.

    Was habe ich da übersehen?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Errormanagement FTW!
    Wenn man nicht weiß, warum und wieso etwas in einem Script passiert, muss man die Gründe suchen!

    Spoiler anzeigen
    [autoit]

    If $U_ans = 6 Then
    WinMinimizeAll()
    ;$PID = Run('C:\Program Files\Internet Explorer\iexplore.exe "' & $D_P & '"', "", @SW_SHOW)
    $PID = Run('C:\Program Files (x86)\Mozilla Firefox\firefox.exe "' & $D_P & '"', "", @SW_SHOW)
    WinWaitActive("")
    Local $Handle = WinGetHandle($PID), $sHTML = "", $loop = 0
    While 1
    Sleep(3000)
    $processexists = ProcessExists($PID)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $processexists = ' & $processexists & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If $processexists = 0 Then ExitLoop
    If Not StringInStr(WinGetTitle($Handle), "No") And Not StringInStr(WinGetTitle($Handle), "Yes") Then
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $loop = ' & $loop & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If $loop = 5 Then ExitLoop
    $loop = $loop + 1
    Else
    $loop = 0
    EndIf
    If StringInStr(WinGetTitle($Handle), "Danke schön") Then
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : StringInStr(WinGetTitle($Handle), "Danke schön") = ' & StringInStr(WinGetTitle($Handle), "Danke schön") & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    Return 1
    endif
    WEnd
    msgbox(0,0,"Schau auf den letzten ausgeführten Befehl in der Console!")
    ProcessClose($PID)
    EndIf

    [/autoit]


    Wenn dir das nicht weiterhilft, schau mal in Scite unter "Extras" nach den TRACE-Funktionen

  • Hi Alina,

    ist ja nur ein Ausschnitt, aber wie ich das sehe würde ich sagen:

    Spoiler anzeigen
    [autoit]

    If $U_ans = 6 Then
    WinMinimizeAll()
    ;$PID = Run('C:\Program Files\Internet Explorer\iexplore.exe "' & $D_P & '"', "", @SW_SHOW)
    $PID = Run('C:\Program Files (x86)\Mozilla Firefox\firefox.exe', "", @SW_SHOW)
    WinWaitActive("")
    Local $Handle = WinGetHandle($PID), $sHTML = "", $loop = 0
    While ProcessExists($PID)
    Sleep(3000)
    If ProcessExists($PID) = 0 Then ExitLoop
    If Not StringInStr(WinGetTitle($Handle), "No") And Not StringInStr(WinGetTitle($Handle), "Yes") Then
    If $loop = 5 Then ExitLoop ; <-- irgendwann ist $loop = 5
    $loop = $loop + 1
    Else
    $loop = 0
    EndIf
    If StringInStr(WinGetTitle($Handle), "Danke schön") Then Return 1
    WEnd
    ProcessClose($PID) ; <-- hier wird nach ExitLoop das Fenster geschlossen ...
    EndIf

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • Andy: Zeile 25
    Schnuffel: Zeile 18

    Einfach den Process nicht automatisch schließen lassen. Schon geht es.

    Danke !!!

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr