Доступ запрещен при получении пути процесса

Я пытаюсь получить путь процесса pid, но я получаю Win32Exception (отклоненный идентификатор доступа).

Код похож на это:

string path = Process.GetProcessById(pid).MainModule.FileName

Я попытался использовать OpenProcess с GetModuleFileNameEx, но OpenProcess возвращается 0. Я даже пытался включить SeDebugPrivilege согласно C# – Как включить SeDebugPrivilege, но он не помог.

Вышеупомянутые работы кода для большей части ошибки процессов но бросков для SynTPHelper.exe (Помощник Манипулятора Synaptics) приложение работают под тем же именем пользователя как мой код. Оба, мое приложение и процесс, выполненный в 64 битах.

Действительно ли возможно получить путь, не запуская мое приложение как администратора?

Править

Диспетчер задач может 'открыть расположение файла' даже при том, что я не выполняю его как администратор.

6
задан Giorgi 3 August 2010 в 20:37
поделиться

1 ответ

Что ж, это, конечно, не редкость, когда службы удаляют права доступа, так что даже администратор не может открыть процесс. У службы достаточно прав для этого, компоненты DRM, такие как audiodg.exe, с готовностью это делают. Помощник коврика для мыши не кажется мне чем-то, что требует такой защиты. Но что, черт возьми, зачем вообще нужно возиться с помощником по коврику для мыши?

1
ответ дан 8 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: