2015-03-09 4 views
0

Мне нужно отправить нажатия клавиш из приложения «Расширение времени», поэтому я написал вот так.
Отправьте системное событие из приложения «Расширение сегодня»

CGEventSourceRef source =  CGEventSourceCreate(kCGEventSourceStateHIDSystemState); 

    CGEventRef f4 = CGEventCreateKeyboardEvent(source, kVK_F4, true); 
    CGEventSetFlags(f4, kCGEventFlagMaskControl); 
    CGEventTapLocation location = kCGHIDEventTap; 

    CGEventPost(location, f4); 

    CFRelease(f4); 
    CFRelease(source);` 


и я написал 'com.apple.systemevents' в файле .entitlements.

<?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.temporary-exception.apple-events</key> 
    <array> 
     <string>com.apple.systemevents</string> 
    </array> 
    <key>com.apple.security.app-sandbox</key> 
    <true/> 
    <key>com.apple.security.files.user-selected.read-only</key> 
    <true/> 
</dict> 
</plist> 

Но это не сработало.
Скажите, пожалуйста, как это сделать.
Спасибо.

ответ

1

исключение вы спросите или яблочные событий, как в яблочного сценария событий

вы не генерируют это, но вы хотите, чтобы непосредственно вызвать ключ/мышь прижимает

, что не будет работать. ни одно изолированное приложение/расширение не может генерировать такие события по всей системе

+0

О, я вижу. Спасибо. Я буду думать по-другому .... – Tsuzu

Смежные вопросы