PostEvent
非推奨の警告が表示され、1 つを使用することになってPostEventToQueue
いると思いますが、2 つの追加パラメーターが必要であり、パラメーターの組み合わせに関するドキュメントが見つかりません (1 つはキューの仕様、もう 1 つはイベントの優先度です) ) と同等になりPostEvent
ます。
2 に答える
1
PostEventToQueue
のような低レベルの OS イベントではなく、Carbon イベント用ですPostEvent
。キーボードまたはマウスのイベントをポストしたい場合は、 を使用する必要がありますCGEventPost
。
追加する編集:現在の場所にマウスを置いて投稿するには、(テストされていない)これを行うことができると思います:
CGEventRef theEvent = CGEventCreate( NULL );
CGEventSetType( theEvent, kCGEventLeftMouseDown );
CGEventPost( theEvent );
CFRelease( theEvent );
于 2013-07-07T16:46:19.517 に答える
0
GetMainEventQueue()
によって返されたイベントキューを使用すると(またはGetCurrentEventQueue
メインスレッドを使用している場合)、kEventPriorityStandard
優先度のために、 と同等の結果が得られると想定するのが妥当だと思いますPostEvent
。
ただし、これらは自分のアプリケーションにのみ影響することに注意してください。古い Event Manager でさえ、おそらく「オペレーティング システムのイベント キュー」にアクセスすることはできなくなりました。それが Carbon Event Manager バージョンの単なるラッパーであったとしても、私は驚かないでしょう。他のアプリケーションにヒットする可能性のあるイベントを投稿したい場合は、CGEvent のものに切り替える必要があります。
于 2013-07-08T05:44:30.880 に答える