Rubrik: COM/OLE/Registry/DLL · Verknüpfungen | VB-Versionen: VB4, VB5, VB6 | 03.11.00 |
Verknüpfte Anwendung finden Oftmals muß man/möchte man wissen, mit welcher Anwendung ein bestimmter Dokumenttyp geöffnet wird, d.h. welche Anwendung im System mit diesem Dateit... | ||
Autor: Dieter Otter | Bewertung: | Views: 22.654 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Oftmals muß man/möchte man wissen, mit welcher Anwendung ein bestimmter Dokumenttyp geöffnet wird, d.h. welche Anwendung im System mit diesem Dateityp verknüpft ist. Mit der nachfolgenden Funktion ist dies kein Problem. Sie übergeben der Funktion einfach das entsprechende Dokument als Parameter und die Funktion liefert dann den Dateinamen inkl. Pfad der verknüpften Anwendung zurück.
Voraussetzung, daß das alles korrekt funktioniert, ist allerdings, daß das Dokument auch tatsächlich existiert.
' Hier die benötigten API-Deklarationen Declare Function FindExecutable Lib "shell32.dll" _ Alias "FindExecutableA" ( _ ByVal lpFile As String, _ ByVal lpDirectory As String, _ ByVal lpResult As String) As Long ' Diese Funktion ermittelt die Standard-Anwendung ' in Verbindung mit einem bestimmten Dateityp ' ' Die Funktion gibt als Ergebnis den Dateinamen mit ' vollständigen Pfad zurück ' ' Kann keine assoziierte Anwendung ermittelt werden ' wird ein Leerstring zurückgegeben Public Function AnwendungFuerDatei(ByVal Datei As String) _ As String ' Datei: Pfad+Dateinamen einer existierenden Datei Dim Pfad As String Pfad = Space$(256) FindExecutable Datei, vbNullString, Pfad If Pfad <> "" Then Pfad = Left$(Pfad, InStr(Pfad, vbNullChar) - 1) End If If UCase$(Pfad) = UCase$(Datei) Then Pfad = "" AnwendungFuerDatei = Pfad End Function