Acesso negado ao obter o caminho do processo

Estou tentando obter o caminho do processo por pid, mas estou recebendo o Win32Exception (identificação de acesso negada).

O código fica assim:

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

Eu tentei usar o OpenProcess com GetModuleFileNameEx, mas o OpenProcess está retornando 0. Eu até tentei ativar o SeDebugPrivilege de acordo comComo habilitar o SeDebugPrivilege mas não ajudou.

O código acima funciona na maioria dos processos, mas gera erro para SynTPHelper.exe (Synaptics Pointing Device Helper) O aplicativo está sendo executado com o mesmo nome de usuário que o meu código. Tanto o meu aplicativo quanto o processo são executados em 64 bits.

É possível recuperar o caminhosem executando meu aplicativo como administrador?

Editar

O Gerenciador de tarefas é capaz de 'abrir o local do arquivo', mesmo que eu não o esteja executando como administrador.

questionAnswers(2)

yourAnswerToTheQuestion