5

Silverlight アプリケーションのログイン画面で、Caps Lock がオンになっているかどうかを確認する必要があります。これは KeyUp または KeyDown イベントを処理することで簡単に実行できますが、キーが押されていない場合でも、キーがオンまたはオフに切り替えられているかどうかを判断するにはどうすればよいでしょうか?

これを実行したい理由は、Silverlight アプリケーションの実行中にユーザーが Caps Lock を押さずに、ログイン画面に到達する前に Caps Lock を切り替えた場合です。Caps Lock がオンになっていることを警告する必要があります。

どうやら、Silverlight ではアンマネージ コードを処理できないため、次のコードは機能しません。

[DllImport("user32.dll")] internal static extern short GetKeyState(int keyCode);

4

3 に答える 3

0

私の知る限り、あなたはできません。アプリからキーが上下することはわかるかもしれませんが、ユーザーがアプリを離れた場合、キーがどのような状態だったかはわかりません。

SL3 での追加のサポートに気づいていませんが、特に探していたとは言えません。

于 2009-04-09T07:10:09.227 に答える
0

Silverlight は、クライアント側での Win32 DLL の呼び出しをサポートしていません。したがって、上記の手法を使用して Capslock キーが押されているかどうかをテストすることはできません。KeyDown イベントを使用してシステム キーをテストしましたか? やったことはありませんが、勘です。

于 2009-04-09T07:14:31.637 に答える