Antes que nada debemos obetener un GUID (Global Unic Identifier) para el registro. Usaremos la función CreateGUID para obtenerla..
Código Delphi
[-]
var
s: string;
begin
CreateGUID(GuidToString(s));
edit1.caption(s);
end;
Una vez tenemos el GUID...
1º debemos crear un nuevo tipo en: (Nueva clave)
HKEY_CLASSES_ROOT\CLSID quedando así
HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
(sin x, las x serían el GUID generado con nuestra aplicación delphi)
En HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} :
Creamos un nuevo valor alfanumérico llamado "InfoTyp"
editamos los valores:
1) (Predeterminado) = "Nuestra Carpeta de Sistema"
2) InfoTip = "Esta es la descripción de la carpeta que aparecerá en Mi PC y en el escritorio
Creamos una subclave llamada DefaultIcon y editamos el predeterminado con la dirección al icono de nuestro invento
HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\DefaultIcon
Ahora debemos de crear 2 subclaves debajo de esta
HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\Shell
HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\ShellFolder
Nuevas subclaves debajo de "Shell" (estas serán las acciones que querramos dar a nuestra carpeta en el popup del botón derecho)
HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\Shell\Abrir\Command
Y Editamos el predeterminado con la acción que realizaría nuestro icono ej: "explorer.exe"
(arrancaría el explorador de windows)
Y así tantas acciones como queramos
Ahora en ShellFolder creamos un valor binario y lo editamos:
00 40 00 30 (esto impedirá que sea borrado o renombrado, 00 00 00 00 para poder editarlo)
Y por ultimo tomamos el GUID i nos dirigimos a
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Explorer\MyComputer\NameSpace y creamos una nueva clave (todo esto para el escritorio) con nuestro GUID quedando:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Explorer\MyComputer\NameSpace\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
Y editando el predeterminado de esta clave le ponemos el nombre
lo mismo pero
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Explorer\Desktop\NameSpace\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
para el escritorio
Resumen:
- HKEY_CLASSES_ROOT
-CLSID
-{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
-Shell
+DefaultIcon>Predetermiando
-Shell
-Abrir
Command>Predeterminado
-...
+ShellFolder>Atributes
- HKEY_LOCAL_MACHINE
-Software
-Microsoft
-Windows
-CurrentVersion
-Explorer
-MyComputer
-{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}>Predeterminado
-Desktop
-{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}>Predeterminado
Espero que me haya explicado bien y que sea de ayuda para todo el que lo necesite. Si hay alguna duda podeis preguntar aquí mismo
Y a ver si alguien puede resolver mi duda en la parte de \Shell\Abrir\Command
y me puede contestar a la pregunta del principio.
Gracias.