A ver BuRtOn, por algo digo que leas la ayuda sobre TRegistry.
Tienes la clave de registro
HEY_CURRENT_USER\Desktop\MenuShowDelay
Bueno, empecemos a desarmar esta clave para que comprendas el porqué de cada método que ves en el código.
HEY_CURRENT_USER corresponde al ROOT. El directorio principal de la clave.
Luego le siguen los subdirectorios de la clave. En este caso es uno sólo: Desktop.
Y por último viene la variable, MenuShowDelay.
Cuando uno desea modificar una clave del registro debe abrir primero dicha clave. Esto se consigue con los siguientes pasos:
1. Establecer el root.
2. Abrir el/los directorio/s.
Aqui hay dos maneras, Si el subdirectorio tiene muchos subdirectorios debemos ir abriendolos uno por uno, o directamente los abrimos todos de una vez.
Por ejemplo,
Código Delphi
[-]
Reg.OpenKey('software',True);
Reg.OpenKey('Microsoft',True);
Reg.OpenKey('Windows',True);
es equivalente a hacer:
Código Delphi
[-]Reg.OpenKey('software\Microsoft\Windows',True);
El segundo parámetro, que corresponde a un tipo boolean, es para indicar si debe crear el directorio en caso de no existir dicho directorio.
Una vez que todos los directorios han sido abiertos, ya podemos modificar la clave o variable que buscamos. Aqui dependerá si lo que guarda es string, integer, etc. Por ejemplo, supongamos que se guarda un string:
Código Delphi
[-]Reg.WriteString('DisableTaskMgr','1');
En el ejemplo, se cambia la variable DisableTaskMgr con el valor 1 pero en string.
Una vez hecho los cambios, hay que cerrar la clave.
¿Se entiende ahora?
Es necesario que conozcas el registro de Windows. Al menos, lo que vas a modificar y/o leer.
Con respecto a cuando y donde hacer esto, dependerá de lo que se necesite. Puede ser en la primera vez que se va a usar el programa, y de allí en mas no debería hacer falta volver a hacerlo. Dije debería puesto que si se cambia el registro, en forma externa a tu aplicativo ya suenan las sirenas.
Puede ser ante la pulsación de un botón, en el evento OnCreate del form principal... esto ya es una cuestión de requisitos, de diseño del sistema y/o de implementación.
Saludos,