我有一个.NET应用程序,我只允许一次运行一个进程,但是该应用程序在Citrix计算机上不时使用,因此可以由同一台计算机上的多个用户运行。如何检查每个用户会话的正在运行的进程?
我想检查并确保应用程序仅在每个用户会话中运行一次,因为现在如果用户A正在运行该应用程序,则用户B将收到“应用程序已在使用中”的消息,而不应该这样做。
这是我现在有一个检查正在运行的进程:
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
}
为我工作。谢谢! – Russ 2009-04-22 15:50:24