CGEventCreateKeyboardEvent和sandboxes

时间:2014-09-03 20:27:53

标签: objective-c xcode macos cocoa

我正在尝试使用这段代码将键盘发送到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,但它很有效,但速度很慢,并不适合我的需求。

有机会吗?

0 个答案:

没有答案