Beschränken Sie mehrere Instanzen einer Anwendung
Okay, also ich habe meine c# - Anwendung, erstellt ein Installationsprogramm für Sie und es funktioniert auf meinem Rechner installiert.
Das problem ist, wenn der Benutzer die Anwendung öffnet, exe doppelt, es werden zwei Instanzen der Anwendung ausgeführt wird. Ich immer nur wollen, eine Instanz der Anwendung ausgeführt werden, zu jeder Zeit, wie gehe ich über das tun dies?
Danke für Eure Hilfe,
InformationsquelleAutor ThePower | 2009-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die gängige Methode HIERFÜR ist das erstellen einer benannten
Mutex
und überprüfen seine Präsenz auf Anwendung starten.Sehen diese oder diese.
Code von DDJ:
InformationsquelleAutor Anton Gogolev
löste ich dieses problem durch das
ist es einfach, aber ich hatte kaum Zeit, zu prüfen, für bessere Lösungen.
processObject.MainModule.FileInfo
Felder wie Beschreibung oder original-Datei-name.., die sich nicht ändern, auch wenn die ausführbare Datei umbenannt wirdInformationsquelleAutor nWorx
Mit Dank Fa. Allen und Powell:
InformationsquelleAutor lance
http://www.codeproject.com/KB/cs/CSSIApp.aspx
InformationsquelleAutor Alex Black
Ich weiß nicht, die Umgebung, in der Sie tätig sind, sondern etwas im Auge zu behalten, auch über 'Einzel-Instanz-Anwendungen" ist, wie Sie definieren, single-Instanz. Wenn die Anwendung ausgeführt werden kann, auf mehreren workstations gleichzeitig über eine gemeinsame Datenquelle, ist das ein Problem? Ebenso was über einen terminal-Dienste-situation (oder ein "ausführen als" - situation), in denen mehr als ein Benutzer angemeldet ist in dem gleichen computer, wollen Sie einschränken, die Anwendung in einer solchen Weise, dass nur eine Instanz pro Benutzer und pro computer? Oder sind Sie in Ordnung mit ihm einfach nur eine Instanz pro Benutzer?
Die Antwort auf diese könnten Sie in eine Richtung über die andere. Zum Beispiel, wir haben einen "single-instance" - Anwendung mit dem Geltungsbereich wird eine Gruppe von Computern. Nur ein Benutzer darf innerhalb dieser Gruppe von workstations. Wir schafften dies, indem Sie einen Tisch in unserem gemeinsamen Daten-Quelle, die verfolgt derzeit verbundenen Benutzer. Dies ist ein Wartungs-Problem, wie Sie benötigen, um sicher zu sein, dass die Tabelle zu 100% treffsicher. Umgang mit Dinge wie unerwartete Stromausfälle auf der Arbeitsstation, verlassen die "falschen" Einträge in dieser Tabelle nahm einige vorsichtige Handhabung.
InformationsquelleAutor ckittel