1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. DanteMay

Beiträge von DanteMay

  • Per Skript andere Skripte beenden

    • DanteMay
    • 17. November 2016 um 08:43

    Hab es jetzt ganz dämlich gelöst....nach jeder Installation wird ein Log geschrieben und dieser zeigt an an welcher stelle es ein Problem gab. Desweiteren wird der PC nach einer gewissen zeit automatisch runtergefahren und somit hatte ich den "closebutton" komplett raus genommen. Der Log wird auf einen Server geladen und kann vom EDV Team ausgelesen werden. sollte es bei einem Rechner Probleme geben muss man das Update händisch aufspielen.
    Der EDV Chef hat es so abgesegnet und damit ist das Projekt beendet.

    Sollte ich nochmal in so eine Situation kommen werde ich von Anfang an den Silent Switch nehmen^^
    Trotzdem danke an alle für die tolle Hilfe :)

  • Per Skript andere Skripte beenden

    • DanteMay
    • 16. November 2016 um 08:37

    Vielleicht habe ich mich auch doof erklärt^^
    Also die Subscripts arbeiten so wie sie sollen. Nur bei den Programmen welche von den Subscripts begleitet werden gibt es manchmal Probleme. Die Subs sind dafür da die Installation fortzuführen (Button Klicks und Optionen automatisiert) wenn aber im Programm plötzlich ein Fenster aufgeht welches ich vorher noch nie hatte (und dementsprechend nicht einkalkuliert hatte) können die Subs nicht weiterarbeiten und und somit "hängt" es. Nun will ich die Subs sowie das GUI-Script per closebutton schließen und genau dies funktioniert nicht.

    @autoBert PIDs sind doch vorhanden (eigentlich logisch) nur im Taskmanager nicht angezeigt (eigentlich unlogisch)

    meine function sieht jetz wie folgt aus

    AutoIt
    Func closebutton()
       Local $pid = ProcessExists("3.windows.exe")
       Local $pid2 = ProcessExists("4.ServicepackIBM.exe")
       ProcessClose($pid)
       ProcessClose($pid2)
       exit
     EndFunc
  • Per Skript andere Skripte beenden

    • DanteMay
    • 16. November 2016 um 07:51
    Zitat von autoBert

    wieso nicht? Run gibt doch die PID zurück!

    Und wo finde ich diese dann? Im Taskmanager werden mir zumindest keine angezeigt. Sorry wenn ich aufn Schlauch stehe.


    @Oscar ich will sie nicht neustarten. Ich will sie in dem Punkt komplett beenden. Großer Datenverlust kann dort nicht auftreten da es sich um eine einfache Installation zweier Programme handelt.
    Das Problem kommt nur zustande wenn zb plötzlich ein Fenster aufploppt welches halt nich berücksichtigt wurde. ich habe um die 150 Rechner damit zu bestücken und will halt nicht alles von Hand machen.
    Kann auch sein das ich dich vollkommen falsch verstanden habe^^

  • Per Skript andere Skripte beenden

    • DanteMay
    • 15. November 2016 um 18:56

    Moin Leute,

    ich habe 1 haupt Script worüber meine GUI läuft und ich habe 2 Subscripts welche vom GUI-Script aufgerufen werden. Nun kommt es aber hin und wieder vor das irgendwas verbugt in den Subscripts (Fenster öffnet sich zb plötzlich obwohl es nicht eingeplant ist) und damit die Scripts zum Stillstand kommen. nun habe ich auf meinen GUI-Script auch einen schließen Button welche dann alle beenden soll, aber dies funktioniert nicht so wirklich^^

    AutoIt
    func closebutton()
     processclose("irgendwas.exe")
     processclose("nochmairgendwas.exe")
     exit
    endfunc

    sowas wir PIDs gibt es nicht

  • If WinExist then

    • DanteMay
    • 15. November 2016 um 08:43

    göttlich danke :D

  • If WinExist then

    • DanteMay
    • 15. November 2016 um 07:56

    hat soweit geklappt, danke dafür erstma

    aber wenn ich das so überdenke wartet er ja immer auf das fenster mit "ibm i access blah" und wenn das fenster nicht erscheint würde er ja nicht weiter springen oder?
    deswegen hatte ich ja winexist verwendet.
    korrigier mich bitte falls ich falsch liege

  • If WinExist then

    • DanteMay
    • 14. November 2016 um 14:51

    Moin Leute...
    eins vorweg: ich bin ziemlich begeistert von AutoIt auch wenn ich noch ziemlich grün hinter den Ohren bin :D

    Mein derzeitiges Projekt ist es eine automatische Installation per Skript zu vollführen. Dieses Skript soll auf verschiedenen Rechnern laufen. Da ist der Haken: Manchmal kommen Fenster die bei einem anderen Rechner nicht kommen. Nun gibt es ja diese "if winexist then" phrase aber ich bin glaub zu blöd dafür^^

    AutoIt
    Run("cwblaunch.exe")
    if WinExists("IBM i Access") Then
       WinWaitActive("IBM i Access", "Dieses Setup führt ein Update")
       ControlClick("IBM i Access", "Dieses Setup führt ein Update", 6, "left")
    EndIf
    WinWait("Setup-Sprache auswählen", "Wählen Sie die Sprache")
    WinActivate("Setup-Sprache auswählen", "Wählen Sie die Sprache")
    ControlClick("Setup-Sprache auswählen", "Wählen Sie die Sprache", 1006, "left")
    [...]

    Immer wenn es zu dem Fenster kommt geht es nicht weiter. Meine Vermutung ist ja das ich irgendwo wieder einen banalen Fehler eingebaut habe....pls help :D

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™