c# - 如何检测键盘是否有数字 block ?

标签 c# .net

我正在制作一个小工具,可以用数字小键盘打开键盘上的数字锁定。我知道如何使用 C# 打开/关闭数字锁定,但我不知道如何确定键盘是否有数字小键盘。

最佳答案

在项目中导入此API:

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

并使用此命令获取 Numlock 状态:

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

无 NumLock 返回 0

关于c# - 如何检测键盘是否有数字 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020626/

相关文章:

c# - 在自定义 ITemplate 中查找控件

c# - 通过 Pinvoke 传递 C# 字符串

.net - 默认事务超时

c# - Datagrid-复选框选择和取消选择

c# - 泛型、枚举和自定义属性——这可能吗?

c# - 是否可以将 BackgroundWorker 类与 .net 核心一起使用?

c# - 如何通过 Linq 过滤一对多关系的查询

javascript - 使用 Javascript 提交表单不适用于新添加的 <input>

将方法组作为委托(delegate)传递时,C# 调用不明确

c#:如何将exe文件嵌入到资源中?