Gewusst wie: Aufrufen von Windows-APIs (Visual Basic)
Aktualisiert: November 2007
Dieses Beispiel definiert die MessageBox-Funktion in der Datei user32.dll, ruft sie auf und fügt ihr anschließend eine Zeichenfolge hinzu.
Beispiel
Dieses Codebeispiel ist auch als IntelliSense-Codeausschnitt verfügbar. Sie finden es in der Codeausschnittauswahl unter Programmiersprache Visual Basic. Weitere Informationen finden Sie unter Gewusst wie: Einfügen von Ausschnitten in den Code (Visual Basic).
' Defines the MessageBox function.
Public Class Win32
Declare Auto Function MessageBox Lib "user32.dll" ( _
ByVal hWnd As Integer, ByVal txt As String, _
ByVal caption As String, ByVal Type As Integer) _
As Integer
End Class
' Calls the MessageBox function.
Public Class DemoMessageBox
Public Shared Sub Main()
Win32.MessageBox(0, "Here's a MessageBox", "Platform Invoke Sample", 0)
End Sub
End Class
Kompilieren des Codes
Für dieses Beispiel muss Folgendes vorhanden sein:
- Ein Verweis auf den System-Namespace.
Robuste Programmierung
Die folgenden Bedingungen können einen Ausnahmefehler verursachen:
Die Methode ist entweder nicht statisch, abstrakt oder wurde zuvor definiert. Beim übergeordneten Typ handelt es sich um eine Schnittstelle, die Länge von Name, oder es gilt dllName = 0 (null). (ArgumentException)
Name oder dllName ist Nothing. (ArgumentNullException)
Der enthaltende Typ wurde zuvor mithilfe von CreateType erstellt. (InvalidOperationException)
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Aufrufen von Windows-APIs
Konzepte
Genauere Betrachtung von Plattformaufrufen
Beispiele für Plattformaufrufe
Verwenden nicht verwalteter DLL-Funktionen
Definieren einer Methode mittels Reflektionsausgabe