How to: Call Windows APIs (Visual Basic)
This example defines and calls the MessageBox function in user32.dll and then passes a string to it.
Example
' 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
Compiling the Code
This example requires:
- A reference to the System namespace.
Robust Programming
The following conditions may cause an exception:
The method is not static, is abstract, or has been previously defined. The parent type is an interface, or the length of name or dllName is zero. (ArgumentException)
The name or dllName is Nothing. (ArgumentNullException)
The containing type has been previously created using CreateType. (InvalidOperationException)
See Also
Tasks
Walkthrough: Calling Windows APIs (Visual Basic)
Concepts
A Closer Look at Platform Invoke
Consuming Unmanaged DLL Functions
Defining a Method with Reflection Emit