[.net] Windows: Lister et lancer des applications associées à une extension



Answers

Comme Anders a dit - C'est une bonne idée d'utiliser l'interface COM IQueryAssociations. Voici un exemple de pinvoke.net

Question

Comment déterminer les applications associées à une extension particulière (par exemple .JPG) et ensuite déterminer où se trouve l'exécutable de cette application afin qu'il puisse être lancé via un appel pour dire System.Diagnostics.Process.Start (...).

Je sais déjà lire et écrire au registre. C'est la disposition du registre qui rend plus difficile de déterminer de façon standard quelles applications sont associées à une extension, quels sont les noms d'affichage et où se trouvent leurs exécutables.




Aussi HKEY_CURRENT_USER \ Logiciel \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \

. EXT \ OpenWithList pour la liste "Open width ..." (valeurs de chaîne 'a', 'b', 'c', 'd' etc pour les choix)

. EXT \ UserChoice pour "Toujours utiliser le programme sélectionné pour ouvrir ce type de fichier" (Valeur de chaîne "Progid")

Toutes les valeurs sont des clés, utilisées de la même manière que docName dans l'exemple ci-dessus.






Links