我想通过 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)
我的问题:没有任何反应 :-(
有人知道解决方案是什么吗?
最佳答案
如果我没记错的话,您将无法使用 SendInput()
(或 keybd_event()
)执行此操作,因为它只是将键注入(inject)键盘输入缓冲区,但特殊的键序列如 CTRL+ALT+DEL
、WIN+L
等在较低层操作,在将键放入缓冲区之前由操作系统解释输入缓冲区。
锁定计算机的正确方法是使用 LockWorkStation()
函数代替。
关于c++ - 使用 SendInput 锁定计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11696253/