Sämtliche Klassen des Namespace System.IO liefern keine Beschreibung der Dateien. Dies ist ein Umstand mit dem ich immer wieder einmal zu kämpfen hatte. Die gesuchten Informationen sind aber relativ einfach zu beschaffen und das ohne P-Invoke.
/// <summary>
/// Gibt die Dateibeschreibung einer Datei anhand der Dateinamenserweiterung zurück.
/// </summary>
/// <param name="extensionWithDot">z.B. .txt</param>
/// <returns>für z.b .txt -> Textdatei </returns>
public string GetFileDescriptionByExtension(string extensionWithDot)
{
string def = (string)Registry.ClassesRoot.OpenSubKey(extensionWithDot).GetValue("");
if (def == null || def == string.Empty)
return "Es ist keine Beschreibung der Datei verfügbar.";
string desc = (string)Registry.ClassesRoot.OpenSubKey(def).GetValue("");
if (desc == null || desc == string.Empty)
{
return def;
}
else
{
return desc;
}
}
Kommentare zum Snippet