使用SendInput锁定计算机

时间:2012-07-27 22:04:38

标签: c++ windows sendinput

我想通过C ++使用SendInput锁定计算机(Windows+L)。我创建了简单的keyDown / keyUp函数,我在其中使用SendInput发送VK。在keyUp上,它会添加flag 0x0002

我可以模拟我的Tab键,我的Windows键,现在我尝试用模拟键击锁定我的电脑。我发送以下消息:

key down:  0x5B (win key)
key down:  0x4C (L)
key up:    0x4C (L)
key up:    0x5B (win key)

我的问题:什么都没发生: - (

有人知道解决方案是什么吗?

1 个答案:

答案 0 :(得分:2)

如果我没有弄错的话,你将无法用SendInput()(或keybd_event())执行此操作,因为它只是将键注入键盘输入缓冲区,但是特殊的键序列如{{{ 1}},CTRL+ALT+DEL等在较低层运行,在将密钥放入输入缓冲区之前由OS解释。

锁定计算机的正确方法是使用LockWorkStation()功能。