У меня должен быть только один экземпляр приложения, работающего на сервере служб терминалов, где каждый использует набор привилегированных и непривилегированных пользователей.
Я пытался использовать глобальный мьютекс (какпредлагается в других ответах), но это терпит неудачу, если первый пользователь, запускающий приложение, не имеет права SeCreateGlobalPrivilege
(обычно пользователи без прав администратора).Поиск уже открытых процессов не работает по той же причине (невозможно увидеть все процессы из сеанса без прав администратора).
Моим первым предположением будет блокировка файла в той же папке моего приложения для эмуляциимьютекс бедного человека, но я боюсь, что разрешения могут снова облажаться (насколько я знаю, Program Files
обычно доступен только для чтения для обычных пользователей).
Есть ли способ обнаружить другие запущенные экземпляры моегоприменение в этой ситуации?