У меня есть приложение .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