此示例定义并调用 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)
名称或 dllName 为 Nothing. (ArgumentNullException)
以前已使用 CreateType 创建包含类型。 (InvalidOperationException)
另请参阅
更深入地了解平台调用
平台调用示例
使用非托管 DLL 函数
用反射发出定义方法
演练:调用 Windows API
COM 互操作