Qt发送键盘事件

//使用Qt自带函数,只能发送在软件内部控件
 QWidget* obj = QApplication::focusWidget();    
 if(nullptr != obj)  // 要注意判空,否则会崩溃     
  {
    QString bytes="1234567890abcd";
    for(int i=0;i 
  

//使用windows自带函数,发送全局键盘事件

1. 引入头文件


#include
#pragma comment(lib,"user32.lib")   //没有加入这个DLL 不能使用  这句话折磨了半天  一直报LNK2019:无法解析的外部符号

QString cardNumber1="1234567890asdv";
QByteArray bytes = cardNumber1.toUtf8();

for(int i=0;i

    {

        keybd_event((unsigned char)bytes.at(i),0,0,0);//模拟数字/字符按键按下

        keybd_event((unsigned char)bytes.at(i),0,2,0);//模拟数字/字符按键弹起

    }


keybd_event(VK_RETURN,0,0,0);
keybd_event(VK_RETURN,0,2,0);
keybd_event(VK_RETURN,0,0,0);
keybd_event(VK_RETURN,0,2,0);

//不知道为什么2次回车  才能触发一次回车

你可能感兴趣的:(Qt,qt)