I\'m trying to get a process name from its pid. User is running as Administrator, UAC enabled, not elevated.
Some system processes, like services.exe
,
You can't open system processes (more precisely, processes running under another account - in this case user SYSTEM) without SE_DEBUG
privilege enabled for your process.
If you are running as admin, you can easily set the privilege:
http://support.microsoft.com/kb/131065/en-us
Have you tried Process32First() and Process32Next() with a handle retrieved by CreateToolhelp32Snapshot()? It doesn't give you the full path but should at least let you get the file name.
Have you tried PROCESS_QUERY_LIMITED_INFORMATION
instead? It requests a lower level of access that can provide at least the name of the executable. It allows you to call QueryFullProcessImageName
which provides the information you're looking for