FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿RunDll32? Funciones extendidas para explorer.exe
Wolaps. Hace tiempo estoy trabajando en la integración de una aplicación dentro del entorno del explorer de windows.
Mi objetivo es integrarla lo máximo posible para que los usuarios interactuen como si un apartado más de windows se tratara. Para iniciar mi camino empezé trabajando con claves del registro para añadir un nuevo icono en "Mi PC" haciendo: 1-. Creando una nueva clave en HKEY_CLASSES_ROOT\CLSID 2-. Añadiendo el nombre de la clave a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\explorer\MyComputer\NameSpace (Si alguien quiere la info completa que me lo diga) Hasta aquí todo bien, el icono aparece en Mi PC, el comentario, las opciones en el botón derecho.. pero.. llegamos al problema: Abrir. Basandome en el software de 1 dispositivo bluetooth (que hace justamente lo que yo quiero) encontré que este ejecuta esta línea de comando al "abrir": rundll32.exe C:\WINDOWS\System32\BtWizard.dll,RunMyComputerShortcut Carga ciertas funciones en memoria para que el explorer pueda interactuar con ellas, creo. Al abrir aparece en la ventana una serie de iconos y opciones del bluetooth. El problema es que no se que acciones se encuentran en dicho dll del bluetooth para que sean cargadas por el explorer de windows. ¿Alguien me puede ayudar, o decirme alguna web donde puedan? Gracias. |
#2
|
||||
|
||||
Hola....
Cita:
saludos... |
#3
|
|||
|
|||
Añadir iconos a Mi PC y Escritorio
Antes que nada debemos obetener un GUID (Global Unic Identifier) para el registro. Usaremos la función CreateGUID para obtenerla..
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. |
|
|
|