为什么我的某些键盘事件有效,有些则不然?

时间:2009-07-27 12:28:10

标签: c++ windows keyboard

我在c ++中有以下示例,第一个按预期工作,第二个没有。我还注意到Windows系统键盘有同样的问题。任何人都知道为什么或解决这个问题/更好的方法吗?

keybd_event(VK_LWIN,0x5b,0 , 0); /* Windows Key Press */
keybd_event(VkKeyScan('l'), 0, 0, 0); /* L key Press */
keybd_event(VkKeyScan('l'), 0, KEYEVENTF_KEYUP,0); /* L key Release */
keybd_event(VK_LWIN,0x5b,KEYEVENTF_KEYUP,0); /* Windows Key Release */

这个失败了:

keybd_event(VK_CONTROL,0x11,0 , 0); /* Control Key Press */
keybd_event(VK_MENU,0xb8, 0, 0); /* Alt Press */
keybd_event(VK_DELETE,0x2e, 0, 0); /* Del Press */

keybd_event(VK_DELETE,0x2e, KEYEVENTF_KEYUP,0); /* Del Release */
keybd_event(VK_MENU,0xb8, KEYEVENTF_KEYUP,0); /* Alt Release */
keybd_event(VK_CONTROL,0x11,KEYEVENTF_KEYUP,0); /* Control Key Release */

1 个答案:

答案 0 :(得分:2)

该特定组合很可能受到系统的保护。 Windows具有此功能,您可以设置它,以便在您输入用户名和密码登录之前要求您按Crtl + Alt + Del。我记得在某个地方读取该功能是为了确保它是真人输入凭据而不是恶意程序。