gpt4 book ai didi

c++ - 如何在C++上创建全局键盘监听器? (Mac OSX)

转载 作者:行者123 更新时间:2023-12-02 09:59:59 25 4
gpt4 key购买 nike

我想获取正在运行的应用程序的全局键盘输入,该应用程序在后台运行。
预期的结果包括当我在运行应用程序的窗口(在本例中为Terminal)上按键盘键时能够在控制台中打印字符。
我尝试使用ncurses.hcurses.h,但是它们似乎具有Xcode无法识别的符号:

Undefined symbols for architecture x86_64:

"_stdscr", referenced from:
_main in main.o

"_wgetch", referenced from:
_main in main.o

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
这是我的代码:
#include <ApplicationServices/ApplicationServices.h>
#include <CoreGraphics/CoreGraphics.h>
#include <CoreFoundation/CoreFoundation.h>
#include <stdio.h>
#include <ncurses.h>
#include <iostream>
#include <curses.h>

int main() {
std::cout << getch();

}

谁能建议OS X文件中包含的库对我有帮助?或者,如果可能的话,有人可以帮助我解决如何克服上述错误吗?
编辑
我是第二次发帖人(我的第一个发错了),请指出是否可以改善此问题,或者是否应该完全删除此问题。

最佳答案

您需要专门链接库,即:

c++ -oprogname progname.cpp -lcurses
但是,这只会解决“ undefined symbol ”错误;它不会让您成为“全局键盘侦听器”。

关于c++ - 如何在C++上创建全局键盘监听器? (Mac OSX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63131932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com