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

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

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

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

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

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

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

  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
    

    注意

    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 ステートメント