実際にマウスをクリックせずにCocoaアプリケーションでのマウスクリックをシミュレートしたいと思います。*現在のマウスの位置を指定して、クリックに応答するビューを特定する必要はありません。
どのビューが応答するかをCocoaフレームワークで処理してほしいので、NSViewオブジェクトのメソッド呼び出しが私が探しているものではないと思います。つまり、このメソッドを呼び出すことになるメソッド呼び出しが必要だと思います。
私は現在、CGEventCreateMouseEventとCGEventPostを使用して、特定のグローバルな場所でマウスをクリックすることでこれを機能させています。ただし、この手法では実際にはマウスをクリックします。したがって、これは機能しますが、動作に完全に満足しているわけではありません。たとえば、CGEventPostが呼び出されているときにキーボードのキーを押したままにすると、そのキーがイベントにラップされます。また、クリックをシミュレートするウィンドウ上に別のプロセスのウィンドウを移動すると、CGEventPostメソッドはそのウィンドウでマウスをクリックします。つまり、プロセス全体でグローバルに機能しています。1つのウィンドウで機能するテクニックが欲しいのですが。NSWindowオブジェクトに何かあるのでしょうか?
Cocoaのドキュメントで、「マウスイベントはNSWindowオブジェクトによってイベントが発生したNSViewオブジェクトにディスパッチされる」と読みました。
わかった。そこで、ディスパッチを行うために呼び出されるメソッドを知りたいのですが。ウィンドウでこのメソッドを呼び出してから、現在のマウスの位置を指定して、フレームワークに呼び出すNSViewを認識させます。
どんな助けでも大歓迎です。私はCocoaフレームワークを学び始めたばかりなので、ここでの用語/言い回しのいずれかが完全に正しくない場合はお詫び申し上げます。