Поделиться через


Практическое руководство. Вызов Windows API (Visual Basic)

В этом примере определяется и вызывается MessageBox функция в user32.dll, а затем передается строка.

Пример

' 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

Компиляция кода

Для этого примера требуются:

  • ссылка на пространство имен System.

Отказоустойчивость

При следующих условиях возможно возникновение исключения:

  • Метод не является статическим, абстрактным или ранее определен. Родительский тип — это интерфейс, длина имени или dllName равна нулю. (ArgumentException)

  • Имя или dllNameNothing. (ArgumentNullException)

  • Содержащий тип был создан ранее с помощью CreateType. (InvalidOperationException)

См. также