方法: 符号なしの型を使用する Windows の機能を呼び出す (Visual Basic)

符号なし整数型のメンバーがあるクラス、モジュール、または構造体を使用している場合、Visual Basic を使用してこれらのメンバーにアクセスできます。

符号なしの型を使用する Windows の機能を呼び出すには

  1. Declare ステートメントを使用して、機能を保持しているライブラリ、ライブラリ内での名前、呼び出し元のシーケンス、呼び出し時に文字列を変換する方法を Visual Basic に伝えます。

  2. Declare ステートメントで、符号なしの型を持つ各パラメーターに応じて UInteger、ULong、UShort、または Byte を使用します。

  3. 呼び出している Windows の機能のドキュメントを参照し、使用されている定数の名前および値を調べます。これらの多くは、WinUser.h ファイルで定義されています。

  4. コードで、必要な定数を宣言します。多くの Windows 定数は 32 ビットの符号なしの値であり、これらの AsUInteger を宣言する必要があります。

  5. 通常の方法で機能を呼び出します。符号なしの整数の引数を使用する、Windows の機能である MessageBox を呼び出す例を次に示します。

    Public Class windowsMessage
        Private Declare Auto Function mb Lib "user32.dll" Alias "MessageBox" (
            ByVal hWnd As Integer, 
            ByVal lpText As String, 
            ByVal lpCaption As String, 
            ByVal uType As UInteger) As Integer
        Private Const MB_OK As UInteger = 0
        Private Const MB_ICONEXCLAMATION As UInteger = &H30
        Private Const IDOK As UInteger = 1
        Private Const IDCLOSE As UInteger = 8
        Private Const c As UInteger = MB_OK Or MB_ICONEXCLAMATION
        Public Function messageThroughWindows() As String
            Dim r As Integer = mb(0, "Click OK if you see this!", 
                "Windows API call", c)
            Dim s As String = "Windows API MessageBox returned " &
                 CStr(r)& vbCrLf & "(IDOK = " & CStr(IDOK) &
                 ", IDCLOSE = " & CStr(IDCLOSE) & ")"
            Return s
        End Function
    End Class
    

    messageThroughWindows の機能をテストするためには、次のコードを使用してください。

    Public Sub consumeWindowsMessage()
        Dim w As New windowsMessage
        w.messageThroughWindows()
    End Sub
    
    Caution メモ注意

    UInteger、ULong、UShort、および SByte データ型は、共通言語仕様 (CLS) 一部ではありません。したがって、CLS 準拠のコードでは、これらを使用するコンポーネントを使用できません。

    セキュリティに関するメモセキュリティに関するメモ

    Windows アプリケーション プログラミング インターフェイス (API: Application Programming Interface) などのアンマネージ コードへの呼び出しを実行すると、潜在的なセキュリティ リスクにコードが公開されます。

    セキュリティに関するメモセキュリティに関するメモ

    Windows API の呼び出しにはアンマネージ コード アクセス許可が必要です。ただし、部分的に信頼されている状況でこの許可を使用すると、プログラムの実行に影響を及ぼす場合があります。詳細については、「SecurityPermission」および「コード アクセス許可」を参照してください。

参照

処理手順

チュートリアル: Windows API の呼び出し (Visual Basic)

関連項目

データ型の概要 (Visual Basic)

整数型 (Integer) (Visual Basic)

UInteger 型

Declare ステートメント