如何以编程方式打开/关闭大写锁定,滚动锁定和数字锁定

时间:2010-06-12 13:40:44

标签: java c++ windows keyboard

是否有办法打开/关闭Windows上的Caps Lock,Scroll Lock和Num Lock?

请以任何语言发布代码段...但我的偏好是C / C ++或Java。

P.S。我正在制作摩尔斯电码程序,它会使Scroll Lock LED闪烁。

3 个答案:

答案 0 :(得分:5)

我假设您使用的是Windows [1]。这个答案不适用于其他平台。您最好的选择是使用SendInput()API函数来模拟Scroll Lock Key上的WM_KEYDOWN和WM_KEYUP消息。

请参阅http://msdn.microsoft.com/en-us/library/ms646310%28v=VS.85%29.aspx

[1]我基于以下思考:* nix用户(包括Mac用户)通常会声明他们的平台。那些不了解其他平台的人通常是Windows用户。 : - )

答案 1 :(得分:3)

Java代码是......

获取Toolkit对象...

Toolkit toolkit = Toolkit.getDefaultToolkit();

打开Caps Lock,Scroll Lock,Num Lock ......

toolkit.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, true);
toolkit.setLockingKeyState(KeyEvent.VK_SCROLL_LOCK, true);
toolkit.setLockingKeyState(KeyEvent.VK_NUM_LOCK, true);

关闭Caps Lock,Scroll Lock,Num Lock ......

toolkit.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, false);
toolkit.setLockingKeyState(KeyEvent.VK_SCROLL_LOCK, false);
toolkit.setLockingKeyState(KeyEvent.VK_NUM_LOCK, false);

答案 2 :(得分:0)