Hallo, Matthias,
ich habe mal eben in meiner Grabbelkiste gewühlt und folgendes gefunden:
Author: Ulrich Krause
Determining the Name of the Executable Associated with a Specific File
Code:
Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA"
(ByVal lpFile As String, ByVal lpDirectory As String, ByVal sResult As String)
As Long
Const MAX_PATH As Long = 260
Const ERROR_FILE_NO_ASSOCIATION As Long = 31
Const ERROR_FILE_NOT_FOUND As Long = 2
Const ERROR_PATH_NOT_FOUND As Long = 3
Const ERROR_FILE_SUCCESS As Long = 32 'my constant
Const ERROR_BAD_FORMAT As Long = 11
Sub Click(Source as Button)
Dim success As Long
Dim pos As Long
Dim sResult As String
Dim msg As String
sResult = Space$(MAX_PATH)
'lpFile: name of the file of interest
'lpDirectory: location of lpFile
'sResult: path and name of executable associated with lpFile
success = FindExecutable("winhlp32.hlp", "c:\winnt\system32\", sResult)
Select Case success
Case ERROR_FILE_NO_ASSOCIATION: msg = "no association"
Case ERROR_FILE_NOT_FOUND: msg = "file not found"
Case ERROR_PATH_NOT_FOUND: msg = "path not found"
Case ERROR_BAD_FORMAT: msg = "bad format"
Case Is >= ERROR_FILE_SUCCESS:
pos = InStr(sResult, Chr$(0))
If pos Then
msg = Left$(sResult, pos - 1)
End If
End Select
MsgBox msg
End Sub
Erstens: Probier' mal, ob Dir das was nützt.
Zweitens: Schau' mal, von wem das ist ;-) Ich glaub, damals war eknori noch bei irgendwas kaltem: Schöller, Eismann ? ;-)
HTH,
Bernhard (mit herzlichem Gruss auch an Ulrich !)