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