使用SendInput锁定计算机
Use SendInput to lock the computer
我想通过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()
)将无法做到这一点,因为它只是将键注入键盘输入缓冲区,但特殊的键序列,如CTRL+ALT+DEL
、WIN+L
等,在键放入输入缓冲区之前,操作系统会对其进行解释。
锁定计算机的正确方法是使用LockWorkStation()
函数。
相关文章:
- 如何找到锁定Linux futex的C++行
- G锁定铸造到基础上会释放模拟行为
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 如何检查线程是否锁定
- 如何在C++中找到active directory中禁用和锁定的窗口帐户
- 我应该在锁定TBitmap画布后解锁它吗
- 为什么我能够为阵列分配比计算机实际拥有的内存更多的内存
- 我可以使用任何好的逻辑来阻止计算机将 O 放在井字游戏中的现有 X 上
- C++ 11 中的锁定是否保证访问数据的新鲜度?
- 在两个线程上读/写 64 位,无互斥/锁定/原子
- C++ 计算机猜测用户数量在 7 次猜测以内
- C++为什么我的编译器成功了,但我的计算机给出了调试错误?
- 如何在实时应用程序中锁定线程
- 在 c++ 中连接字符串和整数,以便在 C++ 11 不支持计算机的情况下读取多个文件
- 在 lambda 中锁定 std::shared_ptr 的复制操作
- 我的 SDL2 程序需要哪些二进制文件,以便它在另一台未安装 SDL2 的计算机中工作
- 将非常大的 int 转换为双倍,在某些计算机上会损失精度
- C++:检查计算机是否已锁定
- 使用SendInput锁定计算机