Gewusst wie: Aufrufen von Windows-APIs (Visual Basic)

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 das Element in der Codeausschnittauswahl unter Programmiersprache Visual Basic. Weitere Informationen finden Sie unter Gewusst wie: Einfügen von IntelliSense-Codeausschnitten.

' 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 (Visual Basic)

Konzepte

Genauere Betrachtung von Plattformaufrufen

Beispiele für Plattformaufrufe

Verwenden nicht verwalteter DLL-Funktionen

Definieren einer Methode mittels Reflektionsausgabe

Weitere Ressourcen

COM-Interop (Visual Basic)