2013-10-19 45 views
1

我试图通过从应用程序发送“键盘按钮”到其外部(到系统),在Qt上创建某种“虚拟控制器”。我试图使用keybd_event,但我遇到了问题。即使这样简单的代码将无法正常工作:Qt上的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:解析外部符号_ 小鬼 _keybd_event @ 16函数引用“private:void __thiscall MainWindow :: on_pushButton_clicked(void)”(?on_pushButton_clicked @ MainWindow @@ AAEXXZ)

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

回答

1

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