El Registro: Modificándolo

Modificaciones que pueden personalizar nuestro Windows sin usar el interfaz de usuario.

Registro de XP y 2003, ********no VISTA-W7.********

Las carpetas especiales

Digamos que son aquéllas que cuelgan del perfil de usuario, %userprofile%, y que son:

AppData %usuario%Datos de Programa
Cache %usuario%Configuración LocalArchivos Temporales de Internet
Cookies %usuario%Cookies
Desktop %usuario%Escritorio
Favorites %usuario%Favoritos
History %usuario%Configuración LocalHistorial
Local AppData %usuario%Configuración LocalApplication Data y/o Datos de Programa
Local Settings %usuario%Configuración Local
My Pictures %usuario%Mis documentosMis imágenes
NetHood %usuario%Entorno de Red
Personal %usuario%Mis documentos
PrintHood %usuario%Impresoras
Programs %usuario%Menú InicioProgramas
Recent %usuario%Reciente
SendTo %usuario%SendTo
Start Menu %usuario%Menú Inicio
Startup %usuario%Menú InicioProgramasInicio
Templates %usuario%Plantillas

 

Cada valor de la llave KHCUSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders es una carpeta especial, como las vistas arriba.

REGspecialfolders

Como se puede ver los valores son del tipo REG_EXPAND_SZ por lo que se usan variables de entorno, usar %USERPROFILE% en la ruta dirige la carpeta a una ubicación dentro de las carpetas del perfil del usuario, o podríamos usar %USERNAME% para que fuesen nombres de usuario.

En el caso de un entorno de GRUPO DE TRABAJO (NO LO NECESITAMOS EN UN ENTORNO DE DIRECTORIO ACTIVO AD) podríamos redirigir cualesquiera de estas carpetas a un recurso compartido de la red, por ejemplo: \Equipo_que_comparteRecurso_compartido%USERNAME%CARPETA_A_REDIRIGIR. Ahora en cuanto inicie sesión un usuario, Windows creará/actualizará la llave, KHCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders, con las rutas de la llave de la imagen anterior, que es la que usará Windows.

 

REGspecialfoldersPaths 

Redirect.inf

   1: [Version]

   2: Signature=$CHICAGO$

   3:  

   4: [DefaultInstall]

   5: AddReg=Reg.Settings

   6: AddReg=Reg.Unistall

   7: CopyFiles=Inf.Copy

   8:  

   9: [DefaultUninstall]

  10: DelReg=Reg.Settings

  11: DelReg=Reg.Unistall

  12: DelFiles=InfCopy

  13:  

  14: [Reg.Settings]

  15: HKCU,SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders, AppData, 0x20000, "%APPDATA%"

  16: HKCU,SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders, Personal, 0x20000, "%PERSONAL%"

  17: HKCU,SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders, My Pictures, 0x20000, "%PICTURES%"

  18: HKCU,SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders, Favorites, 0x20000, "%FAVORITES%"

  19:  

  20: [Reg.Uninstall]

  21: HKCU,SoftwareMicrosoftWindowsCurrentVersionUnistall%NAME%

  22: HKCU,SoftwareMicrosoftWindowsCurrentVersionUnistall%NAME%,DisplayName,,"%NAME%"

  23: HKCU,SoftwareMicrosoftWindowsCurrentVersionUnistall%NAME%,UninstallString,,"RunDll32.exe setupapi.dll, InstallHinfSection DefaultInstall 132""%53%Application DataCustomRedirect.inf"

  24:  

  25: [Inf.Copy]

  26: Redirect.inf

  27:  

  28: [DestinationDirs]

  29: Inf.Copy=53,Application DataCustom

  30:  

  31: [SourceDisksNames]

  32: 55=%DISKNAME%

  33:  

  34: [SourceDisksFiles]

  35: Redirect.inf=55

  36:  

  37: [Strings]

  38: NAME = "Carpetas redirigidas usuario"

  39: APPDATA     ="\ServidorCarpetas%UserName%Datos de Programa"

  40: PERSONAL   ="\ServidorCarpetas%UserName%Mis Documentos"

  41: PICTURES    ="\ServidorCarpetas%UserName%Mis DocumentosMis Imágenes"

  42: FAVORITES  ="\ServidorCarpetas%UserName%Favoritos"

  43: DISKNAME    = "Setup Files"

Las carpetas especiales son ‘por usuario’ y están dentro de los perfiles de los mismos. Hay unas carpetas especiales también ‘por equipo’ en HKLM, pero no parece demasiado útil el personalizarlas, aunque se les aplican las mismas reglas.

Shell Folders

Algunas de las carpetas que vemos en el explorador de Windows, Panel de Control, Escritorio, … no existen actualmente en el sistema de archivos. Son objetos basados en clases registradas en la llave HKCRCLSID. Algunas de las carpetas que existen en el sistema de archivos (historial o maletín por ejemplo) tienen la especial característica de convertirse en objetos basados en clases registradas en HKCRCLSID. Una clase esencialmente es una plantilla para crear algo real, como un objeto en el interfaz de usuario, y CLSID es el lugar donde esas clases se registran para que Windows lo sepa todo de ellas.

Programas de terceros pueden añadir clases, y que nosotros podemos fácilmente encontrar ya que disponen de la sub-llave ShellFolder y dentro el valor Attributes.

registro05 

Los registros de clases que contienen el valor LocalizedString son firmes candidatas a personalizar ya que contienen dicho valor sólo si objetos basados en la clase aparecen en el interfaz de usuario.

registro06

Algunas de las clases registradas que pueden ser interesantes: My computer, My Network places, My documents, Start menu, Web, Administrative tools, Printers and faxes, Folder options, User accounts, …

Podemos personalizar las carpetas que se verán en My Computer (MI PC) por ejemplo, o renombrar iconos del escritorio que no disponen del comando renombrar, etc…

Por ejemplo: Localizamos la clase que pertenece a la papelera de reciclaje, y cambiamos el valor de LocalizedString por el nombre que queremos, vamos al escritorio, F5 y ya está. En este caso el valor contenía la cadena @%SystemRoot%System32SHELL32.dll,-8964, que significa que Windows usa la cadena con el identificador 8964 del archivo SHELL32.dll.

Esta sub-llave, LocalizedString, es del tipo REG_EXPAND_SZ, por lo que podemos usar variables de entorno también, al estilo %UserName%.

La ausencia de ésta sub-llave indica que no se muestra su nombre en el interfaz de usuario, aunque a veces sólo hay que añadirla a la clase y darle un valor.

La sub-llave DefaultIcon representa el icono que muestra el objeto al mostrarse en pantalla, podemos cambiar el valor predeterminado para usar otro icono. Para ello usaremos la ruta y nombre de un archivo .ico, o una ruta de recurso, Nombre,Índice, donde Nombre es la ruta del archivo que contiene el icono e índice el número de identificación del mismo.

Los siguientes cambios, en SOFTWAREMicrosoftWindowsCurrentVersionExplorer, afectarán a todos los usuarios si se realizan bajo HKLM o a un usuario individual si los hacemos bajo HKCU.

Añadir Iconos al escritorio

Editamos las sub-llaves mencionadas y añadimos una nueva sub-llave dentro de DesktopNameSpace o ControlPanelNameSpace o My ComputerNameSpace, con su ID de clase como nombre.

Ocultar Iconos del escritorio

Para ocultar los iconos en MI PC bastaría con añadir la sub-llave HideMyComputerIcons de tipo REG_DWORD con el nombre del ID de la clase del icono a ocultar y el valor 0x01.

En el caso del escritorio, HideDesktopIcons que debe contener dos sub-llaves: ClassicStartMenu y NewStartPanel. La primera oculta iconos cuando se usa el menú de inicio clásico, mientras la segunda es sobre el nuevo inicio. Se añade un REG_DWORD con el nombre del ID de clase del icono y el valor 0x01.

Panel de control

El panel de control en xp incluye una vista por categoría, que divide tareas específicas e iconos del panel en distintas categorías.Podemos añadir un icono del panel en una categoría particular añadiendo un valor REG_DWORD en la llave HKLMSOFTWAREMicrosoftWindowsCurrentVersionControl PanelExtended Properties{305CA226-D286-468E-B848-2B2E8E697B74} 2. La mayoría ya tiene valores en esta llave por lo que todo lo que hemos de hacer es asignar un ID de categoría a cada una.

ID de categoría

Categoría

0x00000000 Otras opciones del panel de control (sin categoría)
0x00000001 Apariencia y temas
0x00000002 Impresoras y otro hardware
0x00000003 Conexiones de Red e Internet
0x00000004 Dispositivos de sonido, audio y voz
0x00000005 Rendimiento y mantenimiento
0x00000006 Opciones regionales, de idioma, y de fecha y hora
0x00000007 Opciones de accesibilidad
0xFFFFFFFF Este indica la no pertenencia a cualquier categoría y es para herramientas especiales que inician directamente, como Agregar o quitar programas.

panelCategory 

Por ejemplo: para colocar la herramienta de Sistema en la categoría Apariencia y temas:

ANTES:

aparienciaANTES

Establecemos el sysdm.cpl de la llave mencionada a 0x01:

regCHANGECONTROLPANEL 

DESPUÉS:

aparienciaDESPUES

Un comentario sobre “El Registro: Modificándolo”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *