Windows Icons Admin
Utilidad de alto rendimiento para Windows 10 y 11 que automatiza la personalización masiva de iconos de carpetas y del sistema, con motor de reglas, codificador PNG a ICO nativo y refresco instantáneo del shell.
Última actualización:
El Problema
La personalización de iconos de carpetas en Windows ha dependido históricamente del diálogo manual carpeta por carpeta o de utilidades heredadas que corrompen archivos desktop.ini, carecen de historial reversible y obligan a reiniciar el Explorador de Windows perdiendo el estado de las ventanas abiertas.
La Solución
Una aplicación moderna de escritorio en C# 13 y .NET 9 con interfaz Fluent (WinUI 3) desarrollada bajo estándares Cleanroom TDD. Integra motor de reglas con protección contra ReDoS, conversor PNG a ICO de 7 capas en memoria, inyección segura de desktop.ini con gestión de atributos Win32 (ReadOnly/System), historial transaccional de deshacer y refresco en vivo con SHChangeNotify.
Aprendizajes Clave
- Atributo de Carpeta Win32 como Disparador del Shell: Windows Explorer ignora desktop.ini a menos que la carpeta tenga el atributo FILE_ATTRIBUTE_READONLY o FILE_ATTRIBUTE_SYSTEM. En directorios, este atributo no bloquea la escritura de archivos y actúa exclusivamente como señal interna para que el shell procese la personalización.
- Refresco No Destructivo del Shell: Reiniciar explorer.exe destruye el estado de ventanas y la bandeja del sistema. Se logra un refresco instantáneo y limpio orquestando notificaciones Win32 duales: SHCNE_UPDATEITEM a nivel de ruta y SHCNE_ASSOCCHANGED para purgar la caché de iconos en memoria.
- Validación de Integridad PNG contra Truncamiento: Los decodificadores estándar de imágenes procesan silenciosamente flujos PNG truncados sin bloque final IEND. Se implementó un parser de integridad por chunks para garantizar la validez binaria antes de codificar el archivo .ico.
- Desacoplamiento Estricto con Cleanroom TDD: La capa WindowsIconsAdmin.Core se diseñó con cero dependencias de UI o APIs de Windows, congelando contratos formales y ejecutando 160 pruebas unitarias independientes que cubren timeouts de expresiones regulares, concurrencia en disco y codificación binaria.
- Modos de Almacenamiento Central y Portátil: Soporte dual para almacenar iconos en un repositorio protegido en %LOCALAPPDATA% (manteniendo limpias las carpetas de usuario) o de forma portátil dentro del propio directorio para conservar los iconos en discos extraíbles o unidades compartidas.
Automatización de Iconos y Arquitectura de Shell
Windows Icons Admin es una utilidad de personalización del sistema para Windows 10 y 11 que moderniza la gestión visual de directorios y accesos directos del shell:
- Motor de Reglas Automatizado: Permite definir reglas declarativas (
Contains,StartsWith,EndsWithy expresiones regulares seguras con timeouts contra ReDoS) para asociar iconos automáticamente a árboles de carpetas de desarrollo, librerías multimedia o repositorios. - Codificador Nativo PNG a ICO Multi-Capa: Motor de conversión puro en memoria que genera binarios
.icode 7 resoluciones (16x16 hasta 256x256) cumpliendo con la especificación Win32 y validando la integridad de bloques PNG antes de la emisión. - Gestión Segura de
desktop.ini: Preserva secciones preexistentes y configura de forma transparente los atributos Win32 de directorio (FILE_ATTRIBUTE_READONLY/FILE_ATTRIBUTE_SYSTEM) indispensables para que el shell active la personalización.
Metodología Cleanroom TDD y Control Transaccional
- Dominio Aislado con Contratos Formales: La biblioteca central
WindowsIconsAdmin.Corecarece de dependencias externas o llamadas directas a UI. Sus especificaciones fueron congeladas en contratos formales y validadas con 160 pruebas unitarias independientes ejecutadas en subsegundos. - Historial de Deshacer Atómico: Almacén transaccional en disco con recuperación automática ante interrupciones, permitiendo revertir lotes completos de personalización a su estado original.
- Refresco No Destructivo con
SHChangeNotify: Orquestación de eventos nativos de shell (SHCNE_UPDATEITEMySHCNE_ASSOCCHANGED) para reflejar los cambios en el Explorador de inmediato sin reiniciar procesos del sistema ni alterar la barra de tareas.
Esta página es un resumen de alto nivel. El repositorio en GitHub es la fuente de verdad sobre las funcionalidades actuales de cada herramienta. GitHub ↗