windows 模拟键盘输入
来源:互联网 发布:系统查询开舱门数据 编辑:程序博客网 时间:2024/06/06 00:06
用到的windows api如下:
1. keybd_event
2. mouse_event
msdn解释:
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(KEYBD_EVENT);k(DevLang-%22C%2B%2B%22);k(TargetOS-WINDOWS)&rd=true
VOID keybd_event(
BYTE bVk, // virtual-key code
BYTE bScan, // hardware scan code
DWORD dwFlags, // flags specifying various function options
DWORD dwExtraInfo // additional data associated with keystroke
);
第一个参数bVk 键盘按键对应的码 ,比如'a'是0x41
第二个参数为扫描码,一般不用设置,用0代替
第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成"KEYEVENTF_KEYUP",
第四个参数一般也是置0即可。
如下表示按下 'a'键
keybd_event(0x41,0,0,0);
keybd_event(0x41,0,KEYEVENTF_KEYUP,0);
而Qt里的sendEvent则是只对Qt应用系统有效。
QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_C, Qt::NoModifier, QString());
QCoreApplication::sendEvent(QWidget::focusWidget(), &keyPress);
QKeyEvent keyRelease(QEvent::KeyRelease, Qt::Key_C, Qt::NoModifier, QString());
QCoreApplication::sendEvent(QWidget::focusWidget(), &keyRelease);
如下代码,定时2秒向系统发送按键事件
#include "keypresstest.h"#include <Windows.h>keypressTest::keypressTest(QWidget *parent, Qt::WFlags flags): QMainWindow(parent, flags){ui.setupUi(this);timer = new QTimer(this);connect(timer,SIGNAL(timeout()),this,SLOT(time_out()));timer->start(2000);//keybd_event(VK_CAPITAL,0,0,0);//keybd_event(VK_CAPITAL,0,KEYEVENTF_KEYUP,0); }keypressTest::~keypressTest(){}void keypressTest::time_out(){<span style="color:#ff0000;">keybd_event(0x41,0,0,0);keybd_event(0x41,0,KEYEVENTF_KEYUP,0); </span>}
0 0
- windows 模拟键盘输入
- windows下模拟鼠标点击和键盘输入
- 模拟键盘输入
- 模拟键盘输入
- 模拟键盘输入
- windows模拟键盘输入,QT实现虚拟键盘的实现方式
- [python]windows下模拟鼠标点击和键盘输入
- 模拟键盘输入器
- C++模拟键盘输入
- C#模拟键盘输入
- 用Delphi模拟键盘输入
- <c#>模拟键盘输入
- Linux 下模拟键盘输入
- 使用Javascript 模拟键盘输入
- Linux 下模拟键盘输入
- IO模拟键盘输入输出
- 使用keybd_event模拟键盘输入
- 用Delphi模拟键盘输入
- CentOS配置smaba与Windows共享文件
- 设计模式功能概要
- 三极管的电平转换及驱动电路分析
- 异或操作妙用
- [cocos2d-x] --- CCNode类详解
- windows 模拟键盘输入
- JavaSe基础XX25——Javascript_3
- C语言技巧(读书笔记)
- 指向多维数组元素的指针变量
- vsftp.conf配置注释
- 跟我一起写Makefile
- 论文写作经验 集萃
- 移植Free BSD TCP/IP stack到dpdk-数据转发
- 对功率谱的一点理解