|
Home - Programmieren - Visual Basic - Win32-API-Programmierung in VB
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Einleitung Visual Basic ist eine Programmiersprache, die zwar alle wichtigen Funktionen für die Programmierung von Windows-Anwendungen zur Verfügung stellt, allerdings gibt es noch viel mehr Möglichkeiten und Funktionen unter Windows. Mit dem Win32 API lassen sich alle Möglichkeiten der Programmierung unter Windows ausschöpfen, da dieses eine Schnittstelle zum Betriebssystem darstellt. Das heißt, dass alle Funktionen, die man unter Windows ausführen kann, über die Win32-API-Schnittstelle auch von einem VB-Programm genutzt werden können, denn Visual Basic hat glücklicherweise die Fähigkeit externe Routinen benutzen zu können. Solche externen Routinen sind in DLL-Dateien (Dynamic Link Library) zusammengefasst. Da das Win32 API als ein Satz von DLLs mit jeder Menge Unterroutinen implementiert ist, können wir von VB aus darauf zugreifen und Win32-API-Aufrufe für unsere Programme nutzen. Zeichensätze Im Win32 API gibt es grundsätzlich 3 verschiedene Zeichensätze:
Deklaration einer Win32-API-Funktion Allgemein ist eine Deklaration von Win32-API-Funktion wie folgt aufgebaut. Prozeduren:
Funktionen:
Das Schlüsselwort in Visual Basic für den Zugriff auf externe Routinen in DLLs heißt Declare. Zerlegen wir die allgemeine Schreibweise in kleinere Abschnitte.
Der Aufruf einer Win32-API-Funktion gestaltet sich sehr einfach, da sie wie eine ganz normale Visual Basic "interne" Funktion aufgerufen werden kann. Sie brauchen in ihrem Quellcode also nur die entsprechende Funktion mit den dazugehörigen Parametern in eine Anweisung oder Zuweisung einbauen, Visual Basic erledigt den Rest und man braucht sich nicht weiter um den Zugriff auf die externe DLL kümmern. Beispiel Zuletzt möchte ich Ihnen zwei einfache Beispiele vorstellen. Zuerst möchten wir gerne einen Ton beliebiger Länge und Frequenz ausgeben. Die Funktion Beep, die uns Visual Basic zur Verfügung stellt, gibt zwar einen Ton aus, allerdings können wir hier Länge und Frequenz nicht selbst bestimmen. Deshalb greifen wir auf die Win32 API zurück. In den allgemeinen Deklarationsabschnitt muss folgende Deklaration eingefügt werden.
Die Funktion soll nur auf Modulebene verfügbar sein. Über die Parameter dwFreq und dwDuration können wir nun die Frequenz und Dauer des Tons beliebig wählen. Ein möglicher Funktionsaufruf könnte wie folgt aussehen:
Zugegeben, das ist eine sehr einfach zu benutzende Funktion. Sehen wir uns zum Schluss noch eine kompliziertere API-Funktion an.
Diese Funktion hat einen Gültigkeitsbereich, der über Modulebene hinaus geht. Sie können Sie also in jedem anderen Modul verwenden. Hier wird auch sichtbar, dass die Funktion mit dem ANSI-Zeichensatz arbeitet, das können wir an dem Anhängsel A im Abschnitt Alias sehen. In unserem Programm können wir die Funktion aber unter dem Namen MessageBox benutzen. Abschließend fällt auf, dass wir im Abschnitt Lib keine Extension für die user32.dll angeben zu brauchen. Diese DLL gehört - genau wie kernel32.dll und gdi32.dll - zur Hauptbibliothek der Win32 API.
|
Autoren:04150
Artikel:00819 Glossar:04124 News:13569 Userbeiträge:16268 Queueeinträge:05150
Projektsteuerung statt Anwesenheitskontrolle
MONDroid - your monitoring Solution for Android with PRTG-Support Red-Hosting jetzt mit erweitertem Shop-Webhosting-Angebot [Mehr News]
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|