使用SendInput模拟按键,代码如下:

#include "stdafx.h"
#include <windows.h>
#include <conio.h> #define KEY_TO_FIRE VK_RWIN int _tmain(int argc, _TCHAR* argv[])
{ _tprintf(_T("fire key...\n"));
INPUT keyEvent = {0}; keyEvent.type = INPUT_KEYBOARD;
keyEvent.ki.wVk = KEY_TO_FIRE;
keyEvent.ki.wScan = MapVirtualKey(KEY_TO_FIRE, 0);
keyEvent.ki.dwFlags |= KEYEVENTF_EXTENDEDKEY; if( 0 == SendInput(1, &keyEvent, sizeof(keyEvent)) )
{
_tprintf(_T("SendInput error: %u\n"), GetLastError());
} keyEvent.ki.dwFlags |= KEYEVENTF_KEYUP; if( 0 == SendInput(1, &keyEvent, sizeof(keyEvent)) )
{
_tprintf(_T("SendInput (UP) error: %u\n"), GetLastError());
} _tprintf(_T("wait 3s to fire again...\n"));
Sleep(3000); keyEvent.ki.dwFlags = KEYEVENTF_EXTENDEDKEY;
if( 0 == SendInput(1, &keyEvent, sizeof(keyEvent)) )
{
_tprintf(_T("SendInput error: %u\n"), GetLastError());
} keyEvent.ki.dwFlags |= KEYEVENTF_KEYUP; if( 0 == SendInput(1, &keyEvent, sizeof(keyEvent)) )
{
_tprintf(_T("SendInput (UP) error: %u\n"), GetLastError());
} _getch(); return 0;
}

发现Windows按键(VK_LWIN和VK_RWIN)死活出不来,查半天发现是360安全卫士的问题。它的驱动防护拦截了这个按键发送调用。

关闭驱动防护即可,如图中标注所示:

或者加入信任列表:

360管真心管得宽……

SendInput模拟Win(VK_LWIN)键的问题的更多相关文章

  1. SendInput模拟键盘输入的问题

    SendInput模拟键盘输入的问题  http://www.cnblogs.com/yedaoq/archive/2010/12/30/1922305.html 最近接触到这个函数,因此了解了一下, ...

  2. 发送WIN+SAPCE键,WINDOWS,空格键

    键盘代码部份转自:http://www.cnblogs.com/cpcpc/archive/2011/02/22/2123055.html 由于喜欢用CTRL+空格键切换输入法,在WIN8上有所不习惯 ...

  3. Win+Ctrl键设置

    转载:http://www.win7u.com/jc/9156.html Ctrl+V:这是Win10命令提示符里新增的, Win+Prt Sc:屏幕截图.按下该快捷键后,Win8系统教程.你知道wi ...

  4. VB用API模拟截屏键PrintScreen

    很多人用 SendKeys "{PRTSC}" 模拟截屏键 PrintScreen 的时候提示<错误:'70' 拒绝的权限>,于是经常遇到人问...干脆写下来 '声明 ...

  5. Linux Input子系统浅析(二)-- 模拟tp上报键值【转】

    转自:https://blog.csdn.net/xiaopangzi313/article/details/52383226 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...

  6. win+L键失灵了怎么办?

    win+L组合键是比较常用的锁屏快捷键组合,一直用的好好的今天发现突然失灵. 百度大部分方法是改注册表的值,然而对我来说没有用. 最后,才搜到一个帖子说是 win键被锁住了. [解决方法]: Fn+w ...

  7. SendInput模拟键盘操作

    #include <windows.h> int main() { HWND parentHwnd, childHwnd; INPUT input[4]; parentHwnd = Fin ...

  8. “Win”组合键

    Windows组合键功能: 单独按下显示或隐藏 [开始] 功能表. +Break 显示 [系统内容] 对话方块. +D 显示桌面. +M 最小化所有的视窗. +Shift+M 还原最小化的视窗. +E ...

  9. Win+Tab键实现自定义程序列表间的窗口切换

    程序是用AutoHotkey语言写的, 说明: 以自己使用频率的顺序在ExeList自定义的程序间切换 切换可以以所有窗口切换,也可以按程序组切换(比如在word窗口间切换) 程序组可以分别定义排除的 ...

随机推荐

  1. CSS 定位

    一.CSS 定位和浮动   它们代替了多年来的表格布局.   定位的思想很简单,相对于正常位置.相对于父元素.另一个元素甚至是浏览器窗口的位置.   浮动在 CSS1 中被首次提出.浮动不完全是定位, ...

  2. SQL Server T-SQL高级查询

    name like 'ja%'; select * from student where name not like '%[j,n]%'; select * from student where na ...

  3. 使用bootstrap框架的模态框与ckeditor产生冲突,ckeditor的弹出窗不可用时的解决方法

    这样可以解决冲突 $.fn.modal.Constructor.prototype.enforceFocus = function () { modal_this = this $(document) ...

  4. C#:类和结构的区别

    第一.引用类型和值类型 类属于引用类型,而结构属于值类型. 结构在赋值时进行复制. 将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据. 第二.继承性 类可以继承类 ...

  5. JPA入门案例详解(附源码)

    1.新建JavaEE Persistence项目

  6. HTML中IFrame父窗口与子窗口相互操作

    一.Iframe篇 //&&&&&&&&&&&&&&&&&&am ...

  7. WebSocket实战之————Workerman服务器的安装启动

    安装php apt-get install php5-cli root@iZ23b64pe35Z:/home/www# php -v PHP 5.5.9-1ubuntu4.20 (cli) (buil ...

  8. zabbix3.0.4 部署之四 (LNAP > PHP安装)

    1.安装依赖 安装epel-release源 安装 libiconv-1.14.tar.gz (这个还有个devl包)  libmcrypt-2.5.8.tar.gz   mhash-0.9.9.9. ...

  9. android定义启动唯一apk

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...

  10. Yii 添加Input时间插件

    1.首先引入时间组件的JS文件,组件可以在网上下载到没有的可以到网上去下载 <script language="javascript" type="text/jav ...