PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Coding - VB6: Wie öffne ich eine Datei mit der ihr zugeordneten Anwendung?



Voodoo
29.12.2006, 15:41
Version: VB4, VB5, VB6, VB.net
Beispielprojekt angehängt für VB6 (http://forum.myrabbits.de/attachment.php?attachmentid=1641&stc=1&d=1167401755)(11 Kb)


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:

Folgendes muss in den Deklarationsteil des Programms:


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

Dann kann man mit folgenden Beispielen die entsprechende Dinge verwirklichen:

Beispiel 1: Öffnen einer Datei mit Notepad


ShellExecute Me.hWnd, "Open", _
App.Path & "\Beispiel.txt", _
vbNullString, App.Path, vbNormalFocus

Beispiel 2: Öffnen einer Internet Adresse


ShellExecute Me.hWnd, "Open", "http://www.myrabbits.de", _
vbNullString, vbNullString, vbNormalFocus

Beispiel 3: Öffnen des Standard Mailhandler für eine neue eMail


ShellExecute Me.hWnd, "Open", "mailto:forum@myrabbits.de", _
vbNullString, vbNullString, vbNormalFocus

Beispiel 4: Drucken eines Word-Dokuments


ShellExecute Me.hWnd, "Print", _
App.Path & "\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\Curr entVersion\App Paths