我想知道是否有办法在Qt应用程序中使用Cocoa API。
我已经使用Windows API从活动应用程序中获取所选文本。
我想用mac os做同样的事情。
我尝试使用xCode创建一个简单的“hello world”应用程序C ++,包括<Cocoa/Cocoa.h>
,但它不能正常工作。
有没有办法让这个“hello word”应用程序用Cocoa构建?
而且,如果可以的话,我可以使用Cocoa API从活动窗口中获取所选文本吗?
编辑:
好吧,所以我使用Cocoa.h成功构建了一些东西,感谢这个帖子:How to mix Qt, C++ and Obj-C/Cocoa。
对于选择问题,您可以查看我发布的答案,告诉您如何操作。
答案 0 :(得分:2)
对于那些可能感兴趣的人:我找到了获取当前所选文本的方法。
只需模拟 cmd + c :
感谢这个thread,我更改了代码以获取“c”键,该键由整数8(在NSEvent.h中找到)表示,所以这里是代码:
CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
CGEventRef saveCommandDown = CGEventCreateKeyboardEvent(source, (CGKeyCode)8, YES);
CGEventSetFlags(saveCommandDown, kCGEventFlagMaskCommand);
CGEventRef saveCommandUp = CGEventCreateKeyboardEvent(source, (CGKeyCode)8, NO);
CGEventPost(kCGAnnotatedSessionEventTap, saveCommandDown);
CGEventPost(kCGAnnotatedSessionEventTap, saveCommandUp);
CFRelease(saveCommandUp);
CFRelease(saveCommandDown);
CFRelease(source);
现在您只需从Qt访问剪贴板即可获得选择。 (如果问,我可以把代码这样做)
无论如何,感谢stackoverflow社区;)