Guten Morgen,
Ich habe mir ein Programm gebastelt welches nicht mehrfachgestartet werden soll.
Dazu nutze ich einen
Mutex.
Wenn ich nun mein Programm zum 2. mal starte, soll das erkannt werden ( das klappt auch) die 2. Instanz soll aber bevor sie Abbricht noch schnell eine nachricht an die 1. schicken ( nämlich den Parameter den sie hatte ) und sich dann beenden.
Ich habe es nun geschafft das die Nachricht versendet wird. Blöderweise empfängt das sendende Programm die Nachricht selbst wieder. Ich habe also ein Programm geschrieben das sich selbst eine Nachricht sendet, anstatt der 2. Instanz.
Das Senden Geschieht mittels
Delphi-Quellcode:
SendMessage(FindWindow('
TForm1',
Nil), WM_COPYDATA, Longint(
Handle),
Longint(@aCopyData));
einem Codestück hier aus der
DP.
Ich denke das es an FindWindow liegt, da dieses zuerst die eigene Instanz findet, weis nun jemand wie ich die andere finden kann ?
Im anhang das Komplette Project.