Qt上的keybd_event不起作用

时间:2013-10-19 14:39:13

标签: qt lnk2019 qtgui

我正试图在Qt上创建某种“虚拟控制器”,通过从我的apliccation发送“键盘按下”到它之外(到系统)。我试图使用keybd_event,但我遇到了问题。即使这个简单的代码也行不通:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <windows.h>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    keybd_event(Qt::Key_Right, 0, 0, 0);
    keybd_event(Qt::Key_Right, 0, KEYEVENTF_KEYUP, 0);
}

我收到此错误消息:

mainwindow.obj:-1:错误:LNK2019:未解析的外部符号_ imp _keybd_event @ 16在函数“private:void __thiscall MainWindow :: on_pushButton_clicked(void)”中引用(?on_pushButton_clicked @ MainWindow @@ AAEXXZ)

可以请某人解释为什么代码有问题?

1 个答案:

答案 0 :(得分:1)

根据keybd_event()库中定义的this文档User32.dll函数。我认为您需要验证您的应用是否与User32.lib相关联。