Определите, запущен ли процесс, поскольку администратор уже работает в C# - PullRequest
0 голосов
/ 16 марта 2020

Я пытался определить, запущен ли на компьютере process A, который я установил. Process A требует прав администратора, устанавливается в C:\ProgramData и обычно запускается как служба. На компьютере есть много процессов с именем A. Чтобы выяснить, если это мой процесс, я проверил путь к исполняемому файлу.

Вы можете сделать это с process.MainModule.FileName или более сложной настройкой, которая описана в этом вопросе

К сожалению, вы не можете проверить путь к исполняемому файлу, запущенному от имени администратора, не имея прав администратора.

Есть ли другой способ определить, действительно ли процесс с именем A является тем, который вы ищете? Что еще можно проверить, кроме пути к исполняемому файлу? Какой обходной путь вы рекомендуете?

ОБНОВЛЕНИЕ:

Я неверно истолковал наблюдения. Если процесс запускается как служба, он запускается как пользователь SYSTEM. Из-за этого вы не можете определить путь к исполняемому файлу, если у вас нет прав администратора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...