Estoy escribiendo una aplicación que necesita crear una cuenta de usuario especial oculta de las pantallas de inicio de sesión y del applet de usuarios del Panel de control. Al escribir un valor de 0 DWORD
con el nombre de usuario a la clave de registro de abajo, yo soy capaz de lograr este objetivo:No se puede escribir en el registro en HKEY_LOCAL_MACHINE Software
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ SpecialAccounts \ UserList
El problema es que en Windows 7 con UAC activado, no importa lo que intento, no puedo escribir un valor de forma programática en la clave anterior.
Tengo entendido que escribir en ciertas teclas no está permitido en Windows 7 con UAC activado, a menos que se esté ejecutando con privilegios administrativos. Agregué un manifiesto de aplicación requestedExecutionLevel level="requireAdministrator" uiAccess="false"
, acepto el aviso de UAC cuando se ejecuta mi programa, mi cuenta es miembro de Administradores, y aún así no puedo escribir en la clave de registro anterior.
¿Qué más debo hacer? ¿Cómo es posible, en cualquier configuración de aplicación, escribir claves y valores en HKEY_LOCAL_MACHINE\SOFTWARE
?
Más información ... Cuando se ejecuta mi programa, no se producen errores y parece escribir valores. Supongo que Windows está virtualizando la ubicación a la que estoy escribiendo. Necesito escribir en la ubicación real, no en la virtual, si debo ocultar esta cuenta de usuario especial.
Probablemente están tratando de prevenir exactamente lo que su tratando de hacer. Una cuenta oculta escrita por malware sería mala, por ejemplo. – asawyer
Sin embargo, esto se aplica al todo en HKEY_LOCAL_MACHINE \ SOFTWARE, no solo a la clave específica que mencioné. Ah, y aún puedes ocultar la cuenta usando regedit, o verla usando administración de computadoras/usuarios. – sysrpl
Disculpa, fue solo un comentario indirecto. Si tuviera una buena respuesta para ti, hubiera usado la otra caja. También estoy muy interesado en lo que está sucediendo aquí. – asawyer