2

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

我可以模拟我的 Tab 键、我的 Windows 键,现在我尝试用模拟的击键来锁定我的计算机。我发送以下消息:

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

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

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

4

1 回答 1

2

如果我没记错的话,您将无法使用SendInput()(or keybd_event()) 执行此操作,因为它只是将键注入键盘输入缓冲区,但特殊的键序列(如CTRL+ALT+DEL,WIN+L等)在较低层运行,之前由操作系统解释键被放入输入缓冲区。

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

于 2012-07-27T22:17:05.413 回答