<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Checho's Blog : C++, Soluci&amp;#243;n a problemas</title><link>http://geeks.ms/blogs/checho/archive/tags/C_2B002B00_/Soluci_26002300_243_3B00_n+a+problemas/default.aspx</link><description>Etiquetas: C++, Soluci&amp;#243;n a problemas</description><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Lanzando mi primera aplicación utilizando la API de Windows destinada a reparar asociación de Carpetas y Directorios: FixAss®</title><link>http://geeks.ms/blogs/checho/archive/2011/05/02/lanzando-mi-primera-aplicaci-243-n-utilizando-la-api-de-windows-destinada-a-reparar-asociaci-243-n-de-carpetas-y-directorios-fixass-174.aspx</link><pubDate>Mon, 02 May 2011 14:14:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:193454</guid><dc:creator>Checho</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/checho/rsscomments.aspx?PostID=193454</wfw:commentRss><comments>http://geeks.ms/blogs/checho/archive/2011/05/02/lanzando-mi-primera-aplicaci-243-n-utilizando-la-api-de-windows-destinada-a-reparar-asociaci-243-n-de-carpetas-y-directorios-fixass-174.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/checho/image_5F00_0B3EDF32.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/checho/image_5F00_thumb_5F00_614AF2D7.png" width="99" height="140" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hola a todos,&lt;/p&gt;  &lt;p&gt;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 &lt;strong&gt;Microsoft TechNet&lt;/strong&gt; y &lt;strong&gt;Answers.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Uno de los problemas más comunes que pude encontrar solución gracias&amp;#160; 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:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/checho/image_5F00_32190740.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/checho/image_5F00_thumb_5F00_4559BDDF.png" width="527" height="146" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;strong&gt;“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”&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Este problema está documentado aquí en el blog en un &lt;a href="http://geeks.ms/blogs/checho/archive/2011/01/27/error-al-abrir-carpeta-este-archivo-no-tiene-ningun-programa-asociado-para-ejecutar-esta-acci-243-n-process-monitor-y-su-soluci-243-n.aspx" target="_blank"&gt;Artículo destinado para él&lt;/a&gt; en el que además pongo a disposición los archivos de Registro para su solución.&lt;/p&gt;  &lt;p&gt;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?&lt;/p&gt;  &lt;p&gt;Por tanto aproveché el problema descrito anteriormente y creé &lt;strong&gt;FixAss®,&lt;/strong&gt; una miniaplicación destinada a solucionar el problema de Asociación de Carpetas y Directorios automáticamente al ser ejecutada.&lt;/p&gt;  &lt;h4&gt;¿Cómo funciona FixAss®?&lt;/h4&gt;  &lt;p&gt;Es una miniaplicación desarrollada en Visual C++ que hace uso de las funciones para trabajar con el Registro &lt;strong&gt;RegCreateKeyEx&lt;/strong&gt; y &lt;strong&gt;RegSetValueEx&lt;/strong&gt; de la &lt;strong&gt;API&lt;/strong&gt; de &lt;strong&gt;Win32&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;FixAss® utiliza la función de &lt;strong&gt;RegCreateKeyEx&lt;/strong&gt; 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 &lt;strong&gt;HKEY_CLASSES_ROOT\Folder&lt;/strong&gt; y &lt;strong&gt;HKEY_CLASSES_ROOT\Directory&lt;/strong&gt; mientras que la función &lt;strong&gt;RegSetValueEx&lt;/strong&gt; establece sus respectivas claves y valores predeterminados.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/checho/image_5F00_10D8EB97.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/checho/image_5F00_thumb_5F00_334D7A52.png" width="356" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;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:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/checho/image_5F00_384FB801.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/checho/image_5F00_thumb_5F00_5D6D026D.png" width="453" height="167" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;h4&gt;Descarga&lt;/h4&gt;  &lt;p&gt;La descarga de &lt;strong&gt;FixAss®&lt;/strong&gt; es completamente gratuita y la pueden hacer desde aquí:&lt;/p&gt;  &lt;p&gt;&lt;iframe style="padding-bottom:0px;background-color:#fcfcfc;padding-left:0px;width:98px;padding-right:0px;height:115px;padding-top:0px;" title="Preview" marginheight="0" src="http://cid-69fbd8240f3b536e.office.live.com/embedicon.aspx/Troubleshooting/Applications/FixAss.rar" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;*Nota:&lt;/strong&gt; Deben descargar y descomprimir antes de poder ejecutar.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;*Importante:     &lt;br /&gt;&lt;/strong&gt;La aplicación está en su versión &lt;strong&gt;1.0,&lt;/strong&gt; y puede sufrir cambios dependiendo del funcionamiento que tenga con las personas que intenten reparar el problema ejecutándola.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;Quiero agradecer especialmente a &lt;a href="http://www.wintecnico.com/" target="_blank"&gt;Daniel Martín (MVP)&lt;/a&gt; por toda la ayuda que me brindó, y además agradezco y son bienvenidos todos los comentarios y retroalimentación que me puedan entregar! =)&lt;/p&gt;  &lt;p&gt;Saludos,&lt;/p&gt;  &lt;p align="center"&gt;   &lt;br /&gt;Checho&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=193454" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/checho/archive/tags/Noticias/default.aspx">Noticias</category><category domain="http://geeks.ms/blogs/checho/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://geeks.ms/blogs/checho/archive/tags/Soluci_26002300_243_3B00_n+a+problemas/default.aspx">Soluci&amp;#243;n a problemas</category><category domain="http://geeks.ms/blogs/checho/archive/tags/C_2B002B00_/default.aspx">C++</category><category domain="http://geeks.ms/blogs/checho/archive/tags/Asociacion+de+carpetas/default.aspx">Asociacion de carpetas</category></item></channel></rss>