在Mac Os X上使用CGEvent和Qt

时间:2011-04-28 11:37:36

标签: c++ qt events macos

我需要在我的Qt应用程序上模拟keyPress(我在mac Os X 10.6上)。

我写了这段代码:

#include <ApplicationServices/ApplicationServices.h>
...
CGEventRef mkey = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)46, true);
CGEventPost(kCGAnnotatedSessionEventTap, mkey);
CFRelease(mkey);
...

但是有一个错误:

Undefined symbols:
  "_CGEventCreateKeyboardEvent", referenced from:
      SimuleEvent::PressControl(QString)       in simuleevent.o
  "_CGEventPost", referenced from:
      SimuleEvent::PressControl(QString)       in simuleevent.o
  "_CFRelease", referenced from:
      SimuleEvent::PressControl(QString)       in simuleevent.o

我想我必须链接一个图书馆,但我不知道哪个?

谢谢

尼科

2 个答案:

答案 0 :(得分:2)

将此行添加到.pro文件中:

LIBS += -framework ApplicationServices

答案 1 :(得分:0)

您需要链接Application Services框架。例如,

clang -framework ApplicationServices yoursourcefile.c

-framework是链接器标志)