Je développe une application ciblant .NET Framework 2.0 en utilisant C# pour laquelle je dois pouvoir trouver l'application par défaut utilisée pour ouvrir un type de fichier particulier.Recherche de l'application par défaut pour ouvrir un type de fichier particulier sous Windows
Je sais que, par exemple, si vous voulez juste d'ouvrir un fichier en utilisant cette application, vous pouvez utiliser quelque chose comme:
System.Diagnostics.Process.Start("C:\...\...\myfile.html");
pour ouvrir un document HTML dans le navigateur par défaut, ou
System.Diagnostics.Process.Start("C:\...\...\myfile.txt");
pour ouvrir un fichier texte dans l'éditeur de texte par défaut. Cependant, ce que je veux pouvoir faire est d'ouvrir les fichiers qui n'ont pas forcément une extension .txt (par exemple), dans l'éditeur de texte par défaut, donc je dois être capable de trouver l'application par défaut pour ouvrir .txt fichiers, ce qui me permettra de l'invoquer directement.
Je suppose qu'il y a une API Win32 dont j'ai besoin pour P/Invoke afin de faire cela, mais un coup d'œil rapide avec Google et MSDN n'a pas révélé beaucoup d'intérêt; J'ai trouvé un très grand nombre de pages complètement non pertinentes, mais rien de tel que je cherche.
à mon avis, l'utilisation de FindExecutable est la plus belle façon: http://stackoverflow.com/a/9540278/2427749 –