我想模拟 Cocoa 应用程序上的鼠标单击,而无需实际单击鼠标,并且*在给定当前鼠标位置的情况下,不必弄清楚哪个视图应该响应单击。
我希望 Cocoa 框架来处理确定哪个视图应该响应,所以我不认为对 NSView 对象的方法调用是我正在寻找的。也就是说,我认为我需要一个最终会调用此方法的方法调用。
我目前通过使用 CGEventCreateMouseEvent 和 CGEventPost 在特定的全局位置单击鼠标来完成这项工作。然而,这种技术实际上是点击鼠标。所以这行得通,但我对这种行为并不完全满意。例如,如果我在调用 CGEventPost 时按住键盘上的一个键,则该键将被包装到事件中。另外,如果我将另一个进程的窗口移动到我想模拟单击的窗口上,那么 CGEventPost 方法将在该窗口中单击鼠标。也就是说,它在全球范围内跨流程发挥作用。我想要一种适用于单个窗口的技术。NSWindow 对象上的东西可能吗?
我在 Cocoa 文档中读到“鼠标事件由 NSWindow 对象分派到发生事件的 NSView 对象”。
好的。所以我想知道被调用来进行调度的方法。在窗口上调用这个方法,然后让框架在给定当前鼠标位置的情况下确定调用哪个 NSView。
任何帮助将不胜感激。我刚刚开始学习 Cocoa 框架,所以如果这里的任何术语/措辞不完全正确,我深表歉意。