7.9 Wie öffne ich eine Datei mit der ihr zugeordneten Anwendung?
VB4-VB6
Von: Thorsten Dörfler
Mithilfe der API Funktion ShellExecute lassen sich nicht nur Dateien mit ihrer zugeordneten Anwendung öffnen (z.B. *.txt mit notepad.exe), sondern auch Internet, eMail und News Adressen mit dem Standardbrowser oder Standard Mail- & Newshandler öffnen. Nachfolgend einige Beispiele:
' --- Deklaration --- Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, _ ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Beispiel 1: Öffnen einer Datei mit Notepad
ShellExecute Me.hWnd, "Open", _ App.Path & IIF(Right$(App.Path, 1) <> "\", "\", "") & "readme.txt", _ vbNullString, App.Path, vbNormalFocus
Beispiel 2: Öffnen einer Internet Adresse
ShellExecute Me.hWnd, "Open", "http://www.vb-hellfire.de", _ vbNullString, vbNullString, vbNormalFocus
Beispiel 3: Öffnen des Standard Mailhandler für eine neue eMail
ShellExecute Me.hWnd, "Open", "mailto:faq@vb-hellfire.de", _ vbNullString, vbNullString, vbNormalFocus
Beispiel 4: Drucken eines Word-Dokuments
ShellExecute Me.hWnd, "Print", _ App.Path & IIF(Right$(App.Path, 1) <> "\", "\", "") & "readme.doc", _ vbNullString, vbNullString, vbNormalFocus
Beispiel 5: Starten einer Anwendung ohne ihren Pfad zu kennen
ShellExecute Me.hWnd, "Open", "excel", _ vbNullString, vbNullString, vbNormalFocus
Möglich ist dies mit allen Anwendungen, die sich in der Registry unter folgendem Pfad eintragen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths