Récupérer le chemin du programme associé à un fichier d'après son extension


Contenu du snippet

[DllImport("kernel32.dll")] 
static extern uint GetTempPath(uint nBufferLength, [Out] StringBuilder lpBuffer);[
DllImport("shell32.dll", EntryPoint="FindExecutable")]
static extern long FindExecutableA(string lpFile, string lpDirectory, [Out] StringBuilder lpResult); 
public static string GetExePathFileFromExtention(string extension) 
{

    string tempFileName = Path.ChangeExtension(Path.GetTempFileName(), extension);
    string tempPathFile = Path.Combine("temp", tempFileName); 
    StringBuilder sb = new StringBuilder(1024);
    File.Create(tempFileName); 
    long ret = FindExecutableA(tempFileName, string.Empty, sb);
    if (ret >= 32) return sb.ToString(); 
    else return string.Empty; 
}



Compatibilité : C# 2.x, C# 3.x

Disponible dans d'autres langages :

A voir également