Programm beenden und wieder starten

  • irgendetwas stimmt doch hier nicht?

    [autoit]

    Do
    sleep(200)
    Until _Timer_GetIdleTime() > $maxIdle_min*60*1000
    WinSetState($name, "", @SW_SHOW) ;zeigt Fenster wieder an
    WinActivate($name) ;holt das Fenster wieder in den Vordergrund
    ;WinSetState("Scala InfoChannel Player",0,@SW_RESTORE)
    Exit

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

    Func Kill()
    WinSetState($name, "", @SW_SHOW) ;zeigt Fenster wieder an
    WinActivate($name) ;holt das Fenster wieder in den Vordergrund
    ;WinSetState("Scala InfoChannel Player",0,@SW_RESTORE)
    Exit
    EndFunc

    [/autoit]
  • Nein, es muss einfach

    Spoiler anzeigen
    [autoit]

    Do
    sleep(200)
    Until _Timer_GetIdleTime() > $maxIdle_min*60*1000
    Kill()

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

    Func Kill()
    WinSetState($name, "", @SW_SHOW) ;zeigt Fenster wieder an
    WinActivate($name) ;holt das Fenster wieder in den Vordergrund
    ;WinSetState("Scala InfoChannel Player",0,@SW_RESTORE)
    Exit
    EndFunc

    [/autoit]

    heißen. In der "Kill"-Funktion stecken die Aufrufe für das Fenster ja schon drin.

  • das problem ist blos das wenn ich das mache habe ich zwei fehler

    1. mein programm beendet sich nicht mehr automatisch
    2. wenn ich mit ESC beende kommt das andere programm zwar wieder in den vordergrund, doch wenn ich mit Alt+Tab in ein anderes programm wechseln möchte, hängt sich das tabbing auf und flackert vor sich hin...

    eine idee?

  • zusammenfassung:

    also dieses script läuft und fährt mir nach gewünschter zeit den browser automatisch wieder runter, nur ist das problem das das programm von welchem meine exe aufgerufen wurde dann im hintergrund bleibt (also auf der taskleiste)

    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #Include <Timers.au3>

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

    HotKeySet("{ESC}","Kill")

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

    Global Const $WS_EX_COMPOSITED = 0x02000000
    $gui = GUICreate("",300,300,0,0, BitOR($WS_SIZEBOX, $WS_POPUPWINDOW, $WS_CLIPCHILDREN), BitOR($WS_EX_TOOLWINDOW, $WS_EX_COMPOSITED));Erstellt ein GUI
    GUISetState();Macht es sichtbar
    GUISetState(@SW_MAXIMIZE);maximiert es, und...

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

    $GUISize = WinGetPos($gui)
    $eIE = _IECreateEmbedded()
    GUICtrlCreateObj($eIE, $GUISize[0], $GUISize[1], $GUISize[2], $GUISize[3])
    _IENavigate($eIE,IniRead(@ScriptDir & "\shutdown.ini", "Tireconfig", "Path", "" ))

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

    $maxIdle_min = IniRead(@ScriptDir & "\shutdown.ini", "Tireconfig", "Time", "" ) ; <---- Hier deine Minutenzahl eintragen

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

    Do
    sleep(200)
    Until _Timer_GetIdleTime() > $maxIdle_min*60*1000

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

    Exit

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

    Func Kill()
    Exit
    EndFunc

    [/autoit]

    eure variante schickt mir zwar bei dem befehl "esc" das im hintergrund liegende programm wieder nach vorne aber es kommen zwei fehler...
    1. fährt der brauser nicht mehr nach der automatisch eingestellten zeit herunter
    2. irggendwie hängt sich der rechner auf. wenn ich per tab in ein anderes programm wedchseln möchte fäng das tabbing an zu flackern und alles hängt für einige minuten.

    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #Include <Timers.au3>

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

    $name = "DerName"

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

    HotKeySet("{ESC}","Kill")
    Global Const $WS_EX_COMPOSITED = 0x02000000
    $gui = GUICreate("",300,300,0,0, BitOR($WS_SIZEBOX, $WS_POPUPWINDOW, $WS_CLIPCHILDREN), BitOR($WS_EX_TOOLWINDOW, $WS_EX_COMPOSITED));Erstellt ein GUI
    GUISetState();Macht es sichtbar
    GUISetState(@SW_MAXIMIZE);maximiert es, und...

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

    $GUISize = WinGetPos($gui)
    $eIE = _IECreateEmbedded()
    GUICtrlCreateObj($eIE, $GUISize[0], $GUISize[1], $GUISize[2], $GUISize[3])
    _IENavigate($eIE,IniRead(@ScriptDir & "\shutdown.ini", "Tireconfig", "Path", "" ))

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

    $maxIdle_min = IniRead(@ScriptDir & "\shutdown.ini", "Tireconfig", "Time", "" ) ; <---- Hier deine Minutenzahl eintragen

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

    Do
    sleep(200)
    Until _Timer_GetIdleTime() > $maxIdle_min*60*1000
    Kill()

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

    Func Kill()
    WinSetState($name, "", @SW_SHOW) ;zeigt Fenster wieder an
    WinActivate($name) ;holt das Fenster wieder in den Vordergrund
    Exit
    EndFunc

    [/autoit]

    bitte um hilfe...ich komme nicht weiter *kopfkratz*

  • [sarkasmus]
    *Zauberhafte Glaskugel ausm Ärmel schüttel*
    aaaah, ja genau da liegt der Fehler o.o
    [/sarkasmus]

    Von welcher anwendung wird dein script denn gestartet ( in welcher sprache ist diese geschrieben ) , Was passiert VOR dem start deines Skripts (minimiert sich die anwendung selbst usw.)
    Kannst du uns den Code von der _Anwendung_ (nicht von dem IE-Skript) zur verfügung stellen?

    @Arkaneus

    Warum eigentlich ein WinSetState(...,@SW_SHOW) statt einem @SW_RESTORE ?
    Komm da irgendwie nich so hinter...

  • wie du richtig sagst verschwindet das programm von alleine durch aufrufen meines scriptes auf die taskleiste von wo ich es auch per hand wiederbeleben kann, allerdings würde ich es gerne automatisch aus meinem script heraus machen wollen.

    mit:

    [autoit]

    WinSetState("DerName",0,@SW_RESTORE)

    [/autoit]

    habe ich es auch versucht, aber da tat sich nix

    Einmal editiert, zuletzt von ePole (16. Oktober 2009 um 20:22)

  • Muss leider passen. Ab hier bin ich dann mit meinem Latein am Ende.
    Eine Lösung gibt es sicherlich, aber um diese zu finden braucht man 1. Zeit und 2. die geeignete Testumgebung. Da ich letzteres nicht habe würde ich ersteres gerne anderweitig nutzen - hab nämlich selbst noch ein Projekt dass seit 2 -3 tagen nich weiterkommt weil ich alle 5 mins jemandem was fürs Forum bastel ^^

  • Hast du den Titel auch wirklich richtig geschrieben oder versuch es mal über wingettitle und der classe des Players

  • hi nochmal,

    das problem hat sich erledigt. zufällig habe ich erfahren das die probleme mit dem tabbing normal sind und es eh nicht möglich ist. problem also bekannt und gelöst.

    was mir nur sorgen macht ist warum das erste script meinen browser schön nach voreingestellter minutenzahl schliesst und bei der variante mit dem schliessen und nach vorne bringenden des programms tut ers nicht?

    diese zeilen hier deaktivieren irgendwie die automatische schliessfunktion.

    [autoit]


    Do
    sleep(200)
    Until _Timer_GetIdleTime() > $maxIdle_min*60*1000
    Kill()

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

    Func Kill()
    WinSetState($name, "", @SW_RESTORE) ;zeigt Fenster wieder an
    WinActivate($name) ;holt das Fenster wieder in den Vordergrund
    Exit
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von ePole (16. Oktober 2009 um 20:23)