Acceso denegado al obtener la ruta del proceso

Estoy tratando de obtener la ruta del proceso pid pero estoy obteniendo Win32Exception (identificación de acceso denegada).

El código se ve así:

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

He intentado usar OpenProcess con GetModuleFileNameEx pero OpenProcess está devolviendo 0. Incluso intenté habilitar SeDebugPrivilege de acuerdo conC # - Cómo habilitar SeDebugPrivilege Pero no sirvió de nada.

El código anterior funciona para la mayoría de los procesos, pero arroja un error para SynTPHelper.exe (Synaptics Pointing Device Helper). La aplicación se ejecuta con el mismo nombre de usuario que mi código. Tanto mi aplicación como el proceso se ejecutan en 64 bits.

¿Es posible recuperar el camino?sin ejecutando mi aplicación como administrador?

Editar

El Administrador de tareas puede "abrir la ubicación del archivo" aunque no lo estoy ejecutando como administrador.

Respuestas a la pregunta(2)

Su respuesta a la pregunta