Kommunikation zweier autoit programme

  • 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 ?

  • 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. ;)

  • 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.