Anhand der Erweiterung wav, mp3, etc. kann dazu der verknüpfte Programmpfad ausgelesen werden. Die Erweiterung kann "wav" und ".wav" verarbeiten.
Beispiel:
//Gibt C:\Programme\Windows Media Player\wmplayer.exe zurück
GetPathFileExtention("mp3")
Nicht vergessen, folgende Referenzen zu setzen:
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
[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);
/// <summary>
/// Gibt den Pfad des Programmes zurück mit der die Extension "verbunden" ist.
/// </summary>
/// <param name="extension">Dateierweiterung (pdf, mp3, ...)</param>
public static string GetPathFileExtention(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;
}
Kommentare zum Snippet