Ich habe eine .NET-Anwendung, die ich nur erlauben, einen einzelnen Prozess zu einem Zeitpunkt auszuführen, jedoch wird diese Anwendung von Zeit zu Zeit auf Citrix-Boxen verwendet und kann daher von mehreren Benutzern auf demselben Computer ausgeführt werden.Wie kann ich nach einem laufenden Prozess pro Benutzersitzung suchen?
Ich möchte überprüfen und stellen Sie sicher, dass die Anwendung nur einmal pro Benutzersitzung ausgeführt wird, denn jetzt, wenn Benutzer A die App ausführt, erhält Benutzer B die Meldung "App bereits verwendet" und sollte nicht.
Das ist, was ich habe jetzt, dass die Kontrollen für den laufenden Prozess:
Process[] p = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
if (p.Length > 1)
{
#if !DEBUG
allowedToOpen &= false;
errorMessage +=
string.Format("{0} is already running.{1}", Constants.AssemblyTitle, Environment.NewLine);
#endif
}
für mich Works. Vielen Dank! – Russ