ich habe einen updater(.exe) der gelegentlicht startet und selbiger muss natürlich auch das hauptprogramm(.exe) beenden um ein update durchzuführen.
jetzt hab ich das immer auf die krasse art per processclose gemacht. das ist ja nicht die feine lösung, deshalb die frage: wie kann ich dem
hauptprogramm(.exe) mitteilen, dass es sich per exit beendet; bzw welchen weg würdet ihr nehmen ?
Kommunikation zweier autoit programme
-
- [ offen ]
-
WhiteLion -
10. März 2013 um 23:02 -
Geschlossen -
Erledigt
-
-
Du kannst das über verschiedene Varianten lösen.
Z.B über TCP-Funktionen, oder über eine temporäre Datei (Das Hauptprogramm überprüft ob die Datei vorhanden ist, löscht sie und beendet sich)
oder auch über ein verstecktes Control im Hautprogramm (Updater schreibt 'Exit' in Control, Hauptprogramm überprüft den Text des Controls, wenn es z.B. 'Exit' enthält, beendet es sich).Ich habe z.B. auch folgendes bei mir im Einsatz: Hauptprogramm.exe überprüft das Vorhandensein von Hauptprogramm.exe.update.exe. Falls vorhanden beendet es sich, benennt sich selbst über einen Batch-Befehl in Hauptprogramm.exe.old.exe um und Hauptprogramm.exe.update.exe in Hauptprogramm.exe und startet diese.
-
Man kann auch sehr schön über NamedPipes kommunizieren.
-
Das nennt sich Inter Process Communication (IPC).
Im englischen Forum findest Du viele verschieden Ansätze dazu. Einfach un effizient scheint der Ansatz über den Mailslot zu sein.