.NET で NumLock、CapsLock、ScrollLock の状態を確認するにはどうすればいいですか? 質問する

.NET で NumLock、CapsLock、ScrollLock の状態を確認するにはどうすればいいですか? 質問する

.NET で NumLock、CapsLock、ScrollLock キーの状態を確認するにはどうすればいいですか?

ベストアンサー1

WinAPI関数をインポートするキーステートを取得:

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
public static extern short GetKeyState(int keyCode);

そして、次のように使用できます。

bool CapsLock = (((ushort)GetKeyState(0x14)) & 0xffff) != 0;
bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0;
bool ScrollLock = (((ushort)GetKeyState(0x91)) & 0xffff) != 0;

これはフレームワーク 1.1 用です。フレームワーク 2.0 (以降) の場合は以下を使用できます。

Control.IsKeyLocked

おすすめ記事