Freigeben über


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

' 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

Dieses Beispiel setzt Folgendes voraus:

  • Ein Verweis auf den System-Namespace.

Robuste Programmierung

Unter den folgenden Bedingungen kann eine Ausnahme ausgelöst werden:

  • 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)