Gracias
Elektro por ampliar el tema.
Ayer me instalé Windows 7 en el PC ( en el portátil tengo Vista), y comprobé el archivo
Shell32.dll, y como dices después de Vista, ya no se encuentra las llamadas... :
shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\8\::{15EAE92E-F17A-4431-9F28-805E482dAFD4}
... en Shell32.dll
pero siguen funcionando y se pueden usar tranquilamente en Windows 7 sin problemas. A no ser que se haga una llamada a algo que simplemente ya no exista o se deba hacer de otra manera.
Aunque alguna queda, por ejemplo, se puede encontrar esta parte del recurso XML en Shell32.dll de W7 que corresponde a 'Panel de control\Programas\Obtener programas':
....
<sh:name>@shell32.dll,-24109</sh:name>
<sh:keywords>@shell32.dll,-25334</sh:keywords>
<sh:keywords>@shell32.dll,-25207</sh:keywords>
<sh:keywords>@shell32.dll,-25077</sh:keywords>
<sh:command>esh:command>
<sh:condition name="shcond://v1#IsMachineOnDomain"/>
</sh:conditions>
....
Ahora la mayoría es como esto:
....
<sh:name>@shell32.dll,-24078</sh:name>
<sh:keywords>@shell32.dll,-25068</sh:keywords>
<sh:keywords>@shell32.dll,-25067</sh:keywords>
<sh:keywords>@shell32.dll,-25092</sh:keywords>
<sh:keywords>@shell32.dll,-25069</sh:keywords>
<sh2:controlpanel page="pageEasierToSee" name="Microsoft.EaseOfAccessCenter"/>
...
Me has ahorrado también listar todas las entradas y el código para usar en NET.
Aunque si te digo la verdad no me lo esperaba, ya tenía escrito y me encuentro que ya lo habías puesto tú e incluso mejor.
Permíteme ahora, algunas consideraciones, que creo no están fuera de lugar.
En realidad el uso de GUIDs o CLSIDs para acceder a elementos del panel de control está deprecado, ya que a partir de Windows Vista se pueden utilizar nombres canónicos, lo que hace más legible el código y más fácil de recordar.
Desde mi punto de vista en informática no existe nada "deprecado" (luego explico porqué lo pongo entre comillas). Es como decir que las máquinas de escribir ya no se usan. Todavía hay gente que las usa. Al final todo depende de gustos y necesidades, y no del hecho que haya surgido algo más nuevo dentro del cual lo de antes ya no se use. Yo no voy a tirar ni dejar de usar mi vieja máquina de escribir porque ya no se use o porque ahora tenga un ordenador. Puede que en algún momento la necesite y me venga la mar de bien.
Si nunca hubiera existido Windows XP y surgiera ahora ¿Podría considerarse obsoleto algo de Vista o W7, W8, etc, porque no funcione o no se use en XP? Además, si algo sigue pudiéndose usar, ya sea dentro de lo nuevo o lo viejo o ambos, no puede considerarse obsoleto. Si por ejemplo, Microsoft incluye y permite usar funciones VB, quien las quiera usar que las use, tampoco va a explotar el ordenador y para alguna chapucilla para qué complicarse.
Permíteme un pequeño apunte y que valga para los demás. Creo que abusas de la palabra "deprecado" ya que te lo he visto usar muchas veces. No estoy seguro que signifique lo que imaginas, ¿anticuado, desusado, viejo, arcaico, antiguo, desfasado, caduco, obsoleto?
En inglés,
deprecated significa
obsoleto o censurado, pero en castellano he buscado y significa algo muy distinto como
rogar o suplicar. No he encontrado ninguna acepción similar a 'obsoleto', en lengua castellana, que supongo es la que quieres usar en realidad o similar. Como no sea en algún país latino.
deprecar. (Del lat. deprecāri, rogar). tr. Rogar, pedir, suplicar con eficacia o instancia.
y un impacto negativo en el rendimiento de nuestra aplicación (iniciar un proceso y esperar el código de salida, consume mucho tiempo de ejecución en comparación)
¿Qué computadora usas tú? Tanto como 'muucho tiempo'
es exagerar. Yo no uso digamos una super computadora de la NASA, me considero una persona impaciente y a mí se me carga al instante aunque use Explorer.exe o Rundll32. En fin.
Espero no te tomes estos comentarios como una reprimenda después de todo, tu también a veces lo haces XD
S2s