En términos de llamadas al sistema de Windows, la información del proceso se puede realizar a través de NtQuerySystemInformation()
con SYSTEM_PROCESS_INFORMATION
como parámetro.
Sin embargo, la verdadera pista de este comportamiento reside en GetProcessMemoryInfo()
que menciona un permiso llamado PROCESS_QUERY_LIMITED_INFORMATION
discutido en Seguridad del proceso y derechos de acceso . Específicamente:
[Con Windows Vista] Se introdujo el derecho PROCESS_QUERY_LIMITED_INFORMATION para proporcionar acceso a un subconjunto de la información disponible a través de PROCESS_QUERY_INFORMATION.
Esto existe porque (si sigue leyendo esa página) PROCESS_QUERY_INFORMATION
se niega en algunos procesos en Vista, particularmente en aquellos con DRM. Entonces, para proporcionarle información sobre el proceso que está ejecutando, obtiene esta versión reducida.
No estoy en un cuadro de Windows para verificar esto todavía, pero creo que todos los usuarios tienen al menos PROCESS_QUERY_LIMITED_INFORMATION
en cualquier proceso dado, por lo que puede consultar información limitada incluso en procesos que no le pertenecen. Su existencia es una de esas propiedades, aunque como señala SteveS en los comentarios, el detalle es limitado.