Beispiel für das Erkennen einer einzelnen Instanz
Aktualisiert: November 2007
In diesem Beispiel wird veranschaulicht, wie die Erkennung einer einzelnen Instanz für eigenständige Anwendungen implementiert wird.
In diesem Beispiel soll nur ein bestimmtes Feature von Windows Presentation Foundation veranschaulicht werden, daher werden die bewährten Methoden für die Anwendungsentwicklung nicht befolgt. Ausführliche Informationen über empfohlene Vorgehensweisen bei der Anwendungsentwicklung für Windows Presentation Foundation (WPF) und Microsoft .NET Framework finden Sie unter folgenden Themen:
Eingabehilfen – Bewährte Methoden für Eingabehilfen
Lokalisierung – Übersicht über WPF-Globalisierung und -Lokalisierung
Leistung – Optimieren der WPF-Anwendungsleistung
Sicherheit – Windows Presentation Foundation-Sicherheit
Erstellen des Beispiels
Installieren Sie das Windows Software Development Kit (SDK) und öffnen Sie dessen Buildumgebungs-Befehlsfenster. Zeigen Sie im Startmenü auf Alle Programme und Microsoft Windows SDK, und klicken Sie dann auf CMD Shell.
Laden Sie das Beispiel, normalerweise aus der Software Development Kit (SDK)-Dokumentation, auf Ihre Festplatte herunter.
Um das Beispiel über das Buildumgebungs-Befehlsfenster zu erstellen, wechseln Sie zum Quellverzeichnis des Beispiels. Geben Sie an der Eingabeaufforderung MSBUILD ein.
Um das Beispiel mit in Microsoft Visual Studio zu erstellen, laden Sie die Projektmappe oder Projektdatei des Beispiels, und drücken Sie STRG+UMSCHALT+B.
Ausführen des Beispiels
Um das kompilierte Beispiel über das Buildumgebungs-Befehlsfenster auszuführen, führen Sie die EXE-Datei aus dem Ordner Bin\Debug oder Bin\Release, die unter dem Quellcodeordner des Beispiels enthalten sind, aus.
Um das kompilierte Beispiel in Visual Studio mit Debuggen auszuführen, drücken Sie F5.
Hinweise
Das am häufigsten verwendete und zuverlässigste Verfahren zum Entwickeln der Erkennung für eine einzelne Instanz ist die Verwendung der Microsoft .NET Framework-Remoteinfrastruktur (System.Remoting). Microsoft .NET Framework (Version 2.0) umfasst den Typ WindowsFormsApplicationBase, der die erforderliche Remotingfunktionalität kapselt. Wenn Sie diesen Typ in einer WPF-Anwendung integrieren möchten, muss davon ein Typ abgeleitet werden und als Startmodul zwischen der statischen Einstiegspunktmethode der Anwendung (Main) und dem Application-Typ der WPF-Anwendung verwendet werden. Das Startmodul erkennt, wenn eine Anwendung zum ersten Mal gestartet wird und wenn danach versucht wird, sie zu starten, und gibt die Steuerung an den WPF Application-Typ zurück, um zu ermitteln, wie der Prozess gestartet wird.
Tipp
WindowsFormsApplicationBase kann eine eigene Nachrichtenverarbeitung starten. Dies erfolgt jedoch nicht mithilfe des in diesem Beispiel dargestellten Verfahrens. Stattdessen wird die Verarbeitung durch die WPF-Meldungsverteilschleife normal ausgeführt.