Maison > développement back-end > C++ > Comment puis-je trouver par programme l'application par défaut pour un type de fichier dans .NET ?

Comment puis-je trouver par programme l'application par défaut pour un type de fichier dans .NET ?

Linda Hamilton
Libérer: 2025-01-04 10:08:39
original
511 Les gens l'ont consulté

How Can I Programmatically Find the Default Application for a File Type in .NET?

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();
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal