Es relativamente fácil configurar la asociación de archivos para exe
archivos en Windows (una buena manera de bloquearse, por cierto). Esto normalmente se hace en HKEY_CLASSES_ROOT, que es válido para todos los usuarios. ¿Pero hay alguna manera de cambiar esta asociación solo para un único usuario?
Quiero realizar alguna acción cada vez antes de que este usuario inicie algún programa. El lanzador debería entonces llamar al programa. Sin embargo, CreateProcess
no funciona si se requiere elevación, mientras que ShellExecute
ejecutará el iniciador de forma recursiva... - por lo que la idea era ejecutar el programa desde un usuario diferente que no haya configurado la asociación de archivos para el archivo exe.
¿Hay una manera de lograr esto?
Respuesta1
Sí.
HKCR es una fusión de HKLM\Software\Classes
y HKCU\Software\Classes
.
Simplemente puede crear HKCU\Software\Classes\.exe
y cambiar la asociación de archivos solo para el usuario actual.