Microsoft DirectX 8.0 (Visual Basic) |
デバイスから入力データを取得するには、まずそのデバイスを表すオブジェクトを作成しなければならない。
DirectInput8.CreateDevice メソッドを使って、DirectInputDevice8 オブジェクトを取得する。その後、このインターフェイスのメソッドを使って、デバイスの操作とデータの取得を行う。
次のコードは、キーボード デバイスを作成する例である。di は DirectInput8 オブジェクトである。
Dim diDev As DirectInputDevice Set diDev = di.CreateDevice("GUID_SysKeyboard")
パラメータは GUID のエイリアスであり、インターフェイスの作成対象デバイスのインスタンスを識別する。Microsoft® DirectInput® には、事前定義された 2 つの GUID (GUID_SysMouse および GUID_SysKeyboard) があり、それぞれシステム マウスとシステム キーボードを表す。これらの識別子を CreateDevice メソッドに渡すことができる。
注 : コンピュータに 2 つ以上のマウスがある場合は、すべてのマウスが結合されてシステムデバイスを形成する。キーボードについても同様である。
システム マウスやシステム キーボード以外のデバイスの場合は、DirectInputDeviceInstance8.GetGuidInstance から取得したデバイスのインスタンス GUID を使用する。1 つのデバイスに対するインスタンス GUID は常に同一である。列挙したリストからユーザーに 1 つのデバイスを選択させ、その GUID を構成ファイルに保存しておくと、後のセッションでその GUID を再び使用することができる。
次のサンプル コードは、アプリケーションがデバイスを列挙し、適切なデバイス diDevInstance を見つけたことを前提としている。このデバイスを DirectInputDevice として作成する。
Dim guid As String guid = diDevInstance.GetGuidInstance Set diDev = di.CreateDevice(guid)
DirectInputDeviceInstance8 オブジェクトの取得方法については、「DirectInput デバイスの列挙」を参照すること。