Frage

Ich arbeite an der Anwendung (C # 2.0). Ich habe einzelne Instanz in ihm umgesetzt. Alles ist gut. Wenn ich die Anwendung erneut ausführen, zeigt es messagebox sagen „Instanz bereits ausgeführt wird“.

Eigentlich will ich die Nachricht nicht durch messagebox zeigen.

Ich mag diese Nachricht von bereits laufenden Instanz mit Ballonspitze zeigen (es hat Symbol in der Taskleiste benachrichtigen).

Wie kann ich das erreichen?

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Sie müssen eine Form von Interprozesskommunikation , auf die andere Instanz, um signalisieren, dass es sollte die messagebox angezeigt werden soll.

In diesem Fall könnten Sie eine besser gehen als die vorhandene Instanz erzählt die Nachricht anzuzeigen, und ihm stattdessen wiederherzustellen sagen, es ist Hauptfenster (das heißt „unminimise“).

Andere Tipps

Sie können einen WCF-Dienst in dir App verwenden.

Ihre zweite App verbindet sich mit ihm über netpipe, invode ein Verfahren und geschlossen wird.

Ihre erste App den Anruf und Pops-up der baloon Benachrichtigung erhalten

Der einfachste Weg, eine einzelne Instanz zu implementieren und die erste zu informieren, wenn ein zweiter gestartet wird, bereits in .NET implementieren. Werfen Sie einen Blick in die folgenden Links:

Hanselman: Single Instance WinForms

OpenWinForms (wählen Wahr Single Instance-Anwendung)

Die CodeFluent Runtime die freie Reihe von Werkzeugen ist ein SingleInstance Klasse eine einzelne Instanz Anwendung zu implementieren:

Sie haben gerade außer Kraft setzen die WndProc Methode, um Ihre Mitteilung (Baloon Spitze) öffnet-up.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top