Meine App ist gezwungen, ein 3rd-Party-Modul zu verwenden, das Windows blendet, wenn zwei Instanzen gleichzeitig auf demselben Computer gestartet werden. Zu arbeiten, um das Problem, meine C# app hat eine Mutex:Cross-Benutzer C# Mutex
static Mutex mutex = new Mutex(true, "{MyApp_b9d19f99-b83e-4755-9b11-d204dbd6d096}");
Und ich überprüfen, ob es vorhanden ist - und wenn ja, zeige ich eine Fehlermeldung und schließen Sie die App:
bool IsAnotherInstanceRunning()
{
if (mutex.WaitOne(TimeSpan.Zero, true))
return (true);
else
return (false);
}
Das Problem ist, Wenn sich zwei Benutzer gleichzeitig anmelden und die Anwendung öffnen können, gibt IsAnotherInstanceRunning() false zurück.
Wie kann ich das umgehen?
Wie macht das 3rd-Party-Modul das? Hast du ihre Unterstützung kontaktiert? – SLaks
Wenn es sich nicht um einen Kernel-Level-Treiber handelt, ist es erstaunlich schwierig, Windows in diesen Tagen zu einem Bluescreen zu machen - was macht dieses Modul auf der Welt? –
@BlueRaja: Es ist ziemlich einfach, Windows aus dem Benutzermodus zu blenden. Haben Sie jemals versucht, csrss.exe zu töten? –