我有一个无线键盘和鼠标,没有任何锁定指示器,也没有任何捆绑软件来提供视觉帮助,所以我正在制作自己的。
我明白了,如果我点击一个notifyIcon,它会列出哪些锁已打开,但我想通过在锁接合后提醒我来使其更智能。
我在网上找到了一些项目,但老实说我只想要锁键,我不关心任何其他键盘按键。
我正在使用 C# .NET 4,不过如果该版本有的话我也可以使用 .NET 4.5。
Thanks.
您将需要注册某种键盘挂钩来监听按键,然后检索锁定键的状态,如下所示:
http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx
除了上述文章之外,还可以进行以下修改以捕获锁定键的状态:
private static IntPtr HookCallback(
int nCode, IntPtr wParam, IntPtr lParam)
{
if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
{
int vkCode = Marshal.ReadInt32(lParam);
Keys key = (Keys)vkCode;
if (key == Keys.Capital)
{
Console.WriteLine("Caps Lock: " + !Control.IsKeyLocked(Keys.CapsLock));
}
if (key == Keys.NumLock)
{
Console.WriteLine("NumLock: " + !Control.IsKeyLocked(Keys.NumLock));
}
if (key == Keys.Scroll)
{
Console.WriteLine("Scroll Lock: " + !Control.IsKeyLocked(Keys.Scroll));
}
Console.WriteLine((Keys)vkCode);
}
return CallNextHookEx(_hookID, nCode, wParam, lParam);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)