Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
18 juil. 2007 à 18:07
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
30 juil. 2007 à 17:54
Bonjour,
Je cherche à recréer le menu "Ouvrir avec" de l'explorateur windows pour un de mes programmes.
Je connais la technique qui est de récupérer l'ID du programme associés dans le registre à la clé "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts" puis de récupérer la commande dans "HKEY_CLASSES_ROOT\Applications" (source de loskiller62 ici), mais le problème est que cette solution n'est pas complète car on ne récupère pas le nom du programme.
On trouve par exemple ""%systemroot%\system32\mspaint.exe" "%1"", ce qui est affiché sous le nom "Paint" dans le menu de l'explorateur windows, ou encore "rundll32.exe %SystemRoot%\system32\shimgvw.dll,ImageView_Fullscreen %1", affiché sous le nom "Apperçu des images et des télécopies Windows". Ou trouve-t-on ces noms? J'ai cherché, mais pas trouvé....
En plus, je voudrais aussi afficher "Choisir le programme..." comme dans l'explorateur, quelle commande shell dois-je utiliser pour ouvrir la fenêtre "Ouvrir avec"??
Le plus simple serait de trouver un moyen pour accéder directement au menu de l'explorateur, si c'est possible...
Quelqu'un aurait-il quelques infos pouvant m'être utile?
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 19 juil. 2007 à 00:01
Merci jack, voilà déjà un truc en moins :) (ça fonctionne)
Et à propos des noms des appli, j'ai trouvé qqch:
Dans la clé "HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache" il y un liste de [chemin de l'application]/[Nom affiché], ça devrait faire l'affaire ;)
Les suivantes sont plus compliquées:
rundll32.exe %SystemRoot%\system32\shimgvw.dll,ImageView_Fullscreen %1
C:\Program Files\VideoLAN\VLC\vlc.exe --started-from-file "%1"
Le problème c'est qu'il n'y a plus les guillemets avant et après la chaine. On peut trouver le début de la chaine avec les : du lecteur, mais pour trouver la fin... c'est une autre affaire. Faire une boucle qui ajoute une lettre à chaque fois et faire un test File.Exist? (et on prend la dernière chaine qui retourne True). Ca peut faire l'affaire, mais c'est pas très optimisé ^^
Mais je vais tenter cette technique, je vous tient au courant...