VB -42: Browser/E-Mail

Verbindung mit der weiten Welt...

Da wir uns hier in einem Online-Medium bewegen, wollen wir es natürlich nicht versäumen, unserem Programm eine Verbindung in die weite Welt zu verpassen. Viele Programme nutzen diese Möglichkeit, um dem Anwender den Zugriff auf weitere Informationen oder Updates zu geben.

Auch hier machen wir uns das Leben einfach und greifen auf einen API-Aufruf zurück (Deklaration ins Modul "Allgemein" einfügen):

     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
 

Die Variablennamen sprechen fast für sich selbst:

Mögliche Werte für nShowCmd sind:

Wir begnügen uns hier mit "Normal" und definieren diese Konstante zusammen mit der API (wir könnten in unserem Funktionsaufruf auch direkt eine "1" eingeben):

     Public Const SW_SHOWNORMAL = 1
 

ShellExecute ist eine recht nützliche Funktion, um Standardanwendungen zu starten, ohne genau zu wissen, was auf dem Rechner des Anwenders installiert ist. Sie untersucht ganz einfach die Verknüpfung, die mit dem übergegeben "Dokument" in der Registry steht. Das hat die gleiche Wirkung als würden wir den Eintrag direkt an die Kommandozeile übergeben oder (bei Dateien) im Explorer doppelklicken. Wir können damit ebenso ein Excel-Arbeitsblatt öffnen oder drucken lassen wie den installierten Standardbrowser oder das E-Mail-Programm öffnen.

Wir fügen dazu zwei weitere Menüpunkte in unser Hilfemenü ein:

Der eigentliche Aufruf sieht dann recht einfach aus:

     Private Sub mnuHomepage_Click()
     Dim rc As Long
        rc = ShellExecute(Me.hwnd, "Open", "http://www.abc-ware.de/",_
         "", "", SW_SHOWNORMAL)
     End Sub

     Private Sub mnuEMail_Click()
     Dim rc As Long
        rc = ShellExecute(Me.hwnd, "Open", _
         "mailto:Name@domain.de?Subject=Mathe-Max", "", "", SW_SHOWNORMAL)
     End Sub
 

In beiden Fällen benötigen wir nur die Open-Anweisung, ohne weitere Pfadangabe und Parameter, da wir nur auf die Verknüpfung abzielen, die für jede URL- oder Mail-Eingabe im System definiert ist.

Wenn wir jetzt unsere Anwendung starten und die beiden neuen Menüpunkte auswählen, wird entweder das installierte E-Mail-Programm oder der Browser gestartet mit dem Versuch, eine Verbindung zu der angegeben URL aufzubauen. Ist der Rückgabewert größer 32, war der Aufruf erfolgreich, d.h. das Programm hat einen Browser bzw. ein E-Mail-Programm gefunden und starten können.

Und schon hat unser Anwender direkten Zugriff auf unsere Homepage.

Beispielprojekt laden

zurück Index weiter


© Copyright 1998-2000 J.Behling EMail schreiben ABC-Ware's Homepage
Weitergabe und Druck (auch in Teilen, mit Ausnahme von Privatgebrauch) ohne ausdrückliche Genehmigung der Autorin untersagt.