سؤال

أحاول استخدام cgcreateeventtap لمراقبة نقرات الماوس العمومية، ولكن عند القيام بذلك، يبدو أنه يحظر التفاعل مع التطبيق الخاص بي.نقرات الماوس في تطبيقات التشغيل الأخرى تعمل بشكل جيد، ولكن تطبيقي الخاص (هذا هو تطبيق Demoappdelegate) لا يستجيب بالكامل.يمكنني سحب النافذة الرئيسية للتطبيق، ولكن أزرار النافذة الحمراء / الأصفر / الأخضر رمادية.وقائمة DemoApp غير قابلة للحياة أيضا.

يبدو ذلك غريبا حقا بالنسبة لي، ولم أتمكن من معرفة ذلك.أمثلة على استخدام صنابير الأحداث قليلة ومتباعدة، لذلك يتم تقدير أي نصيحة إلى حد كبير. giveacodicetagpre.

هل كانت مفيدة؟

المحلول

When you create a Cocoa application, -[NSApplication run] is responsible for running the event loop — it runs the run loop, and dispatches events. This means that you should remove that

CFRunLoopRun();

call at the bottom of your -applicationDidFinishLaunching: method implementation, since it prevents -applicationDidFinishLaunching: from returning and also prevents NSApplication from dispatching events.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top