Я пытаюсь получить путь процесса по pid, но я получаю Win32Exception (идентификатор доступа запрещен).
Код выглядит так:
string path = Process.GetProcessById(pid).MainModule.FileName
Я пытался использовать OpenProcess с GetModuleFileNameEx, но OpenProcess возвращает 0. Я даже пытался включить SeDebugPrivilege согласно C # - Как включить SeDebugPrivilege , но это не помогло.
Приведенный выше код работает для большинства процессов, но выдает ошибку для SynTPHelper.exe (Synaptics Pointing Device Helper). Приложение работает под тем же именем пользователя, что и мой код. И мое приложение, и процесс выполняются в 64-битном режиме.
Можно ли получить путь без запуска моего приложения в качестве администратора?
Редактировать
Диспетчер задач может «открывать местоположение файла», даже если я не запускаю его как администратор.