我正在尝试使用这段代码将键盘发送到Mac OS X的沙盒应用程序中的finder:
CGEventRef a = CGEventCreateKeyboardEvent(NULL, keycode, true);
CGEventSetFlags(a, kCGEventFlagMaskControl);
CGEventPost(kCGHIDEventTap, a);
CFRelease(a);
它可以在非沙盒环境中运行,但是当它使用沙盒时它也不起作用,如果我使用这个权利:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.temporary-exception.apple-events</key>
<array>
<string>com.apple.systemevents</string>
</array>
</dict>
</plist>
我发现有人建议使用Apple Scripts,但它很有效,但速度很慢,并不适合我的需求。
有机会吗?