次の方法で共有


方法 : Windows API を呼び出す (Visual Basic)

更新 : 2007 年 11 月

次に示すのは、user32.dll の MessageBox 関数を定義および呼び出して、その関数に文字列を渡す例です。

使用例

このコードの例は、IntelliSense コード スニペットとしても利用できます。コード スニペット ピッカーでは、これは [Visual Basic Language] にあります。詳細については、「方法 : コードにスニペットを挿入する (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)

参照

処理手順

チュートリアル : Windows API の呼び出し

概念

プラットフォーム呼び出しの詳細

プラットフォーム呼び出しの例

アンマネージ DLL 関数の処理

リフレクション出力によるメソッドの定義

その他の技術情報

COM 相互運用