Ermitteln der einer Datei zugeordneten Anwendung
Ermitteln der einer Datei zugeordneten Anwendung <URL:http://dotnet.mvps.org/dotnet/faqs/?id=findassociatedapp&lang=de> ---------------------------------------------------------------------------- Determining a file's associated application 'FindAssociatedApplication' returns the path to the executable associated with the file passed to the function. An exception is thrown if an error occurs: \\\ Imports System.Text Private Declare Auto Function FindExecutable Lib "shell32.dll" ( _ ByVal lpFile As String, _ ByVal lpDirectory As String, _ ByVal lpResult As StringBuilder _ ) As Int32 Private Const SE_ERR_FNF As Int32 = 2 Private Const SE_ERR_NOASSOC As Int32 = 31 Private Const SE_ERR_OOM As Int32 = 8 Private Const MAX_PATH As Int32 = 260 Private Function FindAssociatedApplication( _ ByVal FileName As String _ ) As String Dim sb As New StringBuilder(MAX_PATH) Dim n As Int32 = FindExecutable(FileName, vbNullString, sb) If n > 32 Then Return sb.ToString() Else Dim s As String = "Unknown error." Select Case n Case SE_ERR_FNF s = "File not found." Case SE_ERR_NOASSOC s = "No file association found." Case SE_ERR_OOM ' Since Windows XP. s = "Out of memory." End Select Throw New Exception(s) End If End Function /// Usage: \\\ Try MsgBox(FindAssociatedApplication("C:\WINDOWS\WIN.INI")) MsgBox(FindAssociatedApplication("C:\FOO\FOO.INI")) Catch ex As Exception MsgBox(ex.Message) End Try /// 'FindExecutable' is used for documents, to find the path of an executable file, 'AssocQueryString' can be used.