1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[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;
}
|