Trouver l'application par défaut pour ouvrir un type de fichier sous Windows (.NET)
Dans .NET Framework 2.0 en utilisant C#, il est possible de ouvrez les fichiers dans leur application par défaut en utilisant System.Diagnostics.Process.Start(). Cependant, pour les fichiers sans extensions spécifiques, déterminer l'application associée peut être délicat.
Utilisation de l'API Win32
Pour surmonter cette limitation, utilisez la fonction AssocQueryString de l'API Win32( ) est recommandé. Cette fonction renvoie la chaîne associée à un type de fichier particulier, permettant aux développeurs d'extraire le chemin de l'exécutable de l'application par défaut.
L'extrait de code ci-dessous montre comment utiliser AssocQueryString() :
using System.Runtime.InteropServices; using System.Text; public static string GetDefaultApplicationForExtension(string extension) { const int S_OK = 0; const int S_FALSE = 1; uint length = 0; uint ret = AssocQueryString(AssocF.None, AssocStr.Executable, extension, null, null, ref length); if (ret != S_FALSE) { throw new InvalidOperationException("Could not determine associated string"); } StringBuilder sb = new StringBuilder((int)length); // (length-1) will probably work too as the marshaller adds null termination ret = AssocQueryString(AssocF.None, AssocStr.Executable, extension, null, sb, ref length); if (ret != S_OK) { throw new InvalidOperationException("Could not determine associated string"); } return sb.ToString(); }
En appelant cette fonction et en fournissant l'extension de fichier comme argument, les développeurs peuvent obtenir le chemin d'application par défaut, leur permettant d'ouvrir les fichiers dans l'application souhaitée par programme.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!