如何:调用 Windows API (Visual Basic)
更新:2007 年 11 月
此示例在 user32.dll 中定义并调用 MessageBox 函数,然后将一个字符串传递给它。
示例
此代码示例也可用作 IntelliSense 代码段。在代码段选择器中,此代码示例位于“Visual Basic 语言”中。有关更多信息,请参见如何:在代码中插入代码段 (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
编译代码
此示例需要:
- 对 System 命名空间的引用。
可靠编程
以下情况可能会导致异常:
该方法不是静态的,该方法是抽象的,或者以前已定义该方法。父类型为接口,或 name 或 dllName 的长度为零。(ArgumentException)
name 或 dllName 为 Nothing。(ArgumentNullException)
以前已使用 CreateType 创建了包含类型。(InvalidOperationException)