Lanzando mi primera aplicación utilizando la API de Windows destinada a reparar asociación de Carpetas y Directorios: FixAss®

image

Hola a todos,

Desde hace un tiempo me ha dado bastante curiosidad por empezar a conocer sobre este fantástico mundo de Windows Internals y a partir de su gran libro empecé a investigar y a utilizar las herramientas de Sysinternals que, afortunádamente me han traido aprendizaje y muchísima ayuda con varios problemas de Windows que para mi suerte puedo ver y seguir en los Foros de Microsoft TechNet y Answers.

Uno de los problemas más comunes que pude encontrar solución gracias  Process Monitor específicamente es el que está relacionado a la Asociación de Carpetas y Directorios de Windows que, al perderse o dañarse generan el siguiente mensaje de error:

image

“Este archivo no tiene ningun programa asociado para ejecutar esta acción. Por favor instale el programa o si lo tiene cree una asociación en el panel de control de programas predeterminados”

Este problema está documentado aquí en el blog en un Artículo destinado para él en el que además pongo a disposición los archivos de Registro para su solución.

Decidí empezar a entrar un poco más en WinInternals interactuando y empezando a conocer sobre la API de Windows y las funciones para el Registro existentes y qué mejor forma que hacer un desarrollo?

Por tanto aproveché el problema descrito anteriormente y creé FixAss®, una miniaplicación destinada a solucionar el problema de Asociación de Carpetas y Directorios automáticamente al ser ejecutada.

¿Cómo funciona FixAss®?

Es una miniaplicación desarrollada en Visual C++ que hace uso de las funciones para trabajar con el Registro RegCreateKeyEx y RegSetValueEx de la API de Win32

FixAss® utiliza la función de RegCreateKeyEx para generar todas las llaves y subllaves de Registros que representan el trabajo y la asociación de Carpetas y Directorios de Windows en las rama de HKEY_CLASSES_ROOTFolder y HKEY_CLASSES_ROOTDirectory mientras que la función RegSetValueEx establece sus respectivas claves y valores predeterminados.

Siempre se sobreescribirán los valores y llaves actuales por lo que podría reparar el daño de asociación en cualquier llave o clave implicada.

Como se debe escribir sobre una rama de Registro que requiere privilegios, FixAss® tiene un Manifiesto embebido para solicitar la elevación de privilegios al momento de ejecutarlo con UAC activado:

image

Al aceptar, se elevará el token y se escribirán las claves y llaves necesarias y a continuación se mostrará una pequeña ventana que confirma la operación realizada:

image

Descarga

La descarga de FixAss® es completamente gratuita y la pueden hacer desde aquí:

*Nota: Deben descargar y descomprimir antes de poder ejecutar.

*Importante:
La aplicación está en su versión 1.0, y puede sufrir cambios dependiendo del funcionamiento que tenga con las personas que intenten reparar el problema ejecutándola.

Estará disponible también en el Artículo orginal del problema para los que deseen bajarla o quieran seguir ejecutando las llaves de registro manualmente.

Quiero agradecer especialmente a Daniel Martín (MVP) por toda la ayuda que me brindó, y además agradezco y son bienvenidos todos los comentarios y retroalimentación que me puedan entregar! =)

Saludos,

Checho

4 comentarios en “Lanzando mi primera aplicación utilizando la API de Windows destinada a reparar asociación de Carpetas y Directorios: FixAss®”

Responder a rsola Cancelar respuesta

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