viernes, octubre 05, 2007

¿Sabía que...? [VII]

En esta nueva entrega de la saga "Sabía que...", pongo dos consultas breves que he recibido:

Pregunta

¿Cómo determina Administrador de tareas cuando una aplicación no responde?

Respuesta

En MSDN hay una API para saber esto mismo, IsHungApp. En la propia documentación se explica lo que tiene que ocurrir para que se determine que una aplicación no está respondiendo:
  • No espera entrada por parte del usuario.
  • No está iniciándose.
  • No ha llamado a PeekMessage o GetMessage en 5 segundos.

Pregunta

En Windows XP trabajo normalmente con un usuario limitado (¡bien hecho! :-P) y si hago doble clic sobre algún instalador, me aparece automáticamente un cuadro que me pide privilegios administrativos. ¿Cómo lo sabe Windows?

Respuesta

La respuesta a esta pregunta reside en nuestra "querida" clave de registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths, de la que ya hablé en un artículo anterior. En una instalación limpia de Windows verá que ya hay algunas subclaves ahí, entre otras Setup.exe, Installer.exe, Winnt32.exe, etc. Si hace un clic sobre cualquiera de ellas, verá un valor RunAsNonAdminInstall, con contenido 1. Ese es todo el secreto.

No hay comentarios: