So identifizieren Sie die Standardanwendung für einen bestimmten Dateityp unter Windows
Bei der Entwicklung von Anwendungen, die mit verschiedenen Dateitypen interagieren, ist dies erforderlich um die Standardanwendung zu identifizieren, die mit dem Öffnen dieser Dateien verknüpft ist. Um dies zu erreichen, bietet Windows eine Methode, die plattformspezifische Funktionen nutzt.
Die Registrierung wird zwar häufig verwendet, ist jedoch kein zuverlässiges Mittel zum Abrufen dieser Informationen, wie Instabilitäten in Windows 8.1 zeigen. Daher ist der bevorzugte Ansatz die Verwendung der Win32-API, insbesondere der AssocQueryString-Funktion.
Für die Verwendung von AssocQueryString müssen die erforderlichen Definitionen aus der Shlwapi.dll-Bibliothek importiert und eine Wrapper-Methode erstellt werden:
using System.Runtime.InteropServices; [DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)] public static extern uint AssocQueryString( AssocF flags, AssocStr str, string pszAssoc, string pszExtra, [Out] StringBuilder pszOut, ref uint pcchOut ); [Flags] public enum AssocF { None = 0, ... } public enum AssocStr { Command = 1, ... }
Eine Beispielimplementierung finden Sie unten:
static string AssocQueryString(AssocStr association, string extension) { ... return sb.ToString(); }
Durch Aufrufen dieser Funktion mit den entsprechenden Parametern können Entwickler die abrufen Pfad zur ausführbaren Datei, die mit dem Öffnen eines bestimmten Dateityps verknüpft ist. Dies ermöglicht eine nahtlose Integration mit externen Anwendungen beim Starten von Dateien in Ihrer eigenen Software.
Das obige ist der detaillierte Inhalt vonWie kann ich die Standardanwendung für einen bestimmten Dateityp unter Windows programmgesteuert bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!