Silverlight アプリケーションのログイン画面で、Caps Lock がオンになっているかどうかを確認する必要があります。これは KeyUp または KeyDown イベントを処理することで簡単に実行できますが、キーが押されていない場合でも、キーがオンまたはオフに切り替えられているかどうかを判断するにはどうすればよいでしょうか?
これを実行したい理由は、Silverlight アプリケーションの実行中にユーザーが Caps Lock を押さずに、ログイン画面に到達する前に Caps Lock を切り替えた場合です。Caps Lock がオンになっていることを警告する必要があります。
どうやら、Silverlight ではアンマネージ コードを処理できないため、次のコードは機能しません。
[DllImport("user32.dll")] internal static extern short GetKeyState(int keyCode);