0

PostEvent非推奨の警告が表示され、1 つを使用することになってPostEventToQueueいると思いますが、2 つの追加パラメーターが必要であり、パラメーターの組み合わせに関するドキュメントが見つかりません (1 つはキューの仕様、もう 1 つはイベントの優先度です) ) と同等になりPostEventます。

4

2 に答える 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 に答える