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


Практическое руководство. Вызов API Windows (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)

См. также