Frage

Ich versuche, CGCREATEEVENTTAP zu verwenden, um globale Mausklicks zu überwachen, aber wenn ich dies tue, scheint die Interaktion mit meiner eigenen App zu blockieren.Mausklicks in anderen laufenden Apps funktionieren gut, aber meine eigene App (dh die DemoAppdelegate-App) reagiert nicht vollständig.Ich kann das Hauptfenster für die App ziehen, aber die roten / gelb / grünen Fensterschaltflächen sind ausgegraut.Und das DEMOAPP-Menü ist auch nicht so gut.

Das scheint mir wirklich seltsam zu sein, und ich konnte es nicht herausfinden.Beispiele für die Verwendung von Ereignishähnen sind wenige und weit dazwischen, so dass jeder Rat sehr geschätzt wird. generasacodicetagpre.

War es hilfreich?

Lösung

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top