Zugriff verweigert, während der Prozesspfad abgerufen wird

Ich versuche, den Prozesspfad über PID abzurufen, erhalte jedoch eine Win32Exception (Zugriffs-ID verweigert).

Der Code sieht so aus:

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

Ich habe versucht, OpenProcess mit GetModuleFileNameEx zu verwenden, aber OpenProcess gibt 0 zurück. Ich habe sogar versucht, SeDebugPrivilege gemäß @ zu aktiviere C # - So aktivieren Sie SeDebugPrivilege aber es hat nicht geholfen.

Der obige Code funktioniert für die meisten Prozesse, löst jedoch einen Fehler für SynTPHelper.exe (Synaptics Pointing Device Helper) aus. Die Anwendung wird unter demselben Benutzernamen wie mein Code ausgeführt. Sowohl meine Anwendung als auch der Prozess werden in 64-Bit ausgeführt.

Ist es möglich den Pfad abzurufenohn Meine Anwendung als Administrator ausführen?

Bearbeite

Task Manager kann den Dateispeicherort öffnen, obwohl ich ihn nicht als Administrator ausführe.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage