Freigeben über


Vorgehensweise: Aufrufen von Windows-APIs (Visual Basic)

In diesem Beispiel wird die MessageBox Funktion in user32.dll definiert und aufgerufen und anschließend eine Zeichenfolge an sie übergeben.

Beispiel

' 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

In diesem Beispiel ist Folgendes erforderlich:

  • Ein Verweis auf den System Namespace.

Robuste Programmierung

Die folgenden Bedingungen können zu einer Ausnahme führen:

  • Die Methode ist nicht statisch, ist abstrakt oder wurde zuvor definiert. Der übergeordnete Typ ist eine Schnittstelle, oder die Länge von name oder dllName ist null. (ArgumentException)

  • Der Name oder dllName lautet Nothing. (ArgumentNullException)

  • Der enthaltende Typ wurde zuvor mit CreateType erstellt. (InvalidOperationException)

Siehe auch