Microsoft DirectX 8.0 (Visual Basic)

DirectInputDevice8.SetCooperativeLevel

デバイスのインスタンスに協調レベルを設定する。協調レベルは、このインスタンスが、同じデバイスのほかのインスタンス、およびシステムのこれ以外の部分との間で、どのように対話するかを決める。

object.SetCooperativeLevel(hwnd As Long, _
  flags As CONST_DISCLFLAGS)

指定項目

object
DirectInputDevice8 オブジェクトを指定する。
hwnd
デバイスに関連付けられているウィンドウ ハンドル。このパラメータは、このプロセスに属する最上位の有効なウィンドウ ハンドルでなければならない。デバイスに関連付けられるウィンドウは、Microsoft® DirectInput® デバイスの中でアクティブである間は、破壊してはならない。
flags
デバイスに関連付ける協調レベルを表すフラグ。CONST_DISCLFLAGS 列挙の定数である。

次のフラグの組み合わせが有効である。
フラグ 意味 対象
DISCL_NONEXCLUSIVE Or DISCL_BACKGROUND ほかのアプリケーションは、排他モードまたは非排他モードにあるデバイスを取得できる。このアプリケーションは、データにいつでもアクセスできる。 すべて。
DISCL_NONEXCLUSIVE Or DISCL_FOREGROUND ほかのアプリケーションは、排他モードまたは非排他モードにあるデバイスを取得できる。このアプリケーションは、フォアグラウンドにあるときのみデータにアクセスできる。 すべて。
DISCL_EXCLUSIVE Or DISCL_BACKGROUND ほかのアプリケーションは、非排他モードにあるデバイスを取得できる。このアプリケーションは、データにいつでもアクセスできる。 ジョイスティック。
DISCL_EXCLUSIVE Or DISC_FOREGROUND ほかのアプリケーションは、非排他モードにあるデバイスを取得できる。このアプリケーションは、フォアグラウンドにあるときのみデータにアクセスできる。 すべて。マウスの場合、有効だが Microsoft® Windows® はカーソルを表示できない。

キーボードの場合、Windows キーを無効にするには DISCL_NONEXCLUSIVE と共に DISCL_NOWINKEY も含める必要がある。DISCL_EXCLUSIVE が指定される場合、Windows キーは常に無効である。ただし、デフォルトのアクション マッピング UI が表示されている間は DISCL_NOWINKEY フラグは無効であり、また、デフォルトのアクション マッピング UI が存在している間は Windows キーは通常どおり機能する。

エラー コード

失敗した場合はエラーが発生し、Err.Number に次のいずれかのエラー コードが設定される。

DIERR_INVALIDPARAM
DIERR_INVALIDHANDLE

注意

2 つのアプリケーション (または同一アプリケーションの 2 つのインスタンス) が同時に 1 つのデバイスを排他モードで取得することはできない。これは主にセキュリティ面での機能である。これにより、1 つのアプリケーションからの入力が、同時に実行されている別のアプリケーションに流れることはない。

システム マウスが排他モードで取得されると、マウス ポインタは、デバイスが解放されるまで画面から消去される。

アプリケーションは、DirectInputDevice8.Acquire メソッドでデバイスを取得する前に、このメソッドを呼び出す必要がある。

参照

協調レベル