Share via


HOW TO:呼叫 Windows API (Visual Basic)

這個範例在 user32.dll 中定義並且呼叫 MessageBox 函式,接著將字串傳遞給該函式。

範例

這個程式碼範例也可做為 IntelliSense 程式碼片段。 在程式碼片段選擇器中,這個程式碼片段位於 [Visual Basic 語言] 中。 如需詳細資訊,請參閱 HOW TO:插入 IntelliSense 程式碼片段

' 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 命名空間的參考。

穩固程式設計

以下條件可能會造成例外狀況:

  • 這個方法不是靜態的 (Static),而是抽象方法,或先前已定義的方法。 父型別是介面,或者 name 或 dllName 的長度為零 (ArgumentException)

  • name 或 dllName 為 Nothing (ArgumentNullException)

  • 先前已使用 CreateType 建立包含型別 (Containing Type) (InvalidOperationException)

請參閱

工作

逐步解說:呼叫 Windows API (Visual Basic)

概念

詳述平台叫用

平台叫用範例

使用 Unmanaged DLL 函式

使用反映發出定義方法

其他資源

COM Interop (Visual Basic)