Microsoft DirectX 8.0 (C++) |
協調レベルを DISCL_FOREGROUND に設定した状態で、フォーカスがほかのアプリケーションに切り替わる場合、Microsoft® Windows® がアプリケーションにキーボードを強制的に解放させることがある。このため、IDirectInputDevice8::GetDeviceData メソッドまたは IDirectInputDevice8::GetDeviceState メソッドからの DIERR_INPUTLOST 戻り値をチェックして、必要に応じてキーボードを再取得する必要がある (「デバイスの取得」を参照すること)。
注 : DIERR_NOTACQUIRED エラーを受け取った場合には、キーボードの再取得を試みないようにする必要がある。そうしないと、無限ループに入るおそれがある。取得は失敗し、DIERR_NOTACQUIRED エラーを受け取るという繰り返しが永遠に続く。