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
This code example is also available as an IntelliSense code snippet. In the code snippet picker, it is located in Visual Basic Language. For more information, see How to: Insert Snippets Into Your Code (Visual Basic).
' 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
Concepts
A Closer Look at Platform Invoke
Consuming Unmanaged DLL Functions
Defining a Method with Reflection Emit