在MacOS X中是否可以将鼠标单击发送到特定窗口?
我已经设法通过CGPostMouseEvent
将点击发送到整个屏幕。
我要控制的窗口彼此重叠,所以我的下一个想法是在触发点击之前将适当的窗口置于最前面。它可以正常工作,但最终会一团糟... ;-)
最佳答案
可以通过未记录的事件将事件发送到Cocoa应用程序
CGEventPostToPSN
这是Dave Keck的一些代码示例。他发布了一个小应用程序on the mailing list。
customEvent = [NSEvent mouseEventWithType: [event type]
location: [event locationInWindow]
modifierFlags: [event modifierFlags] | NSCommandKeyMask
timestamp: [event timestamp]
windowNumber: WID
context: nil
eventNumber: 0
clickCount: 1
pressure: 0];
CGEvent = [customEvent CGEvent];
CGEventPostToPSN(&psn, CGEvent);
要存档,我在
pasteie.org上粘贴了more source code
供参考:整个thread on cocao-dev mailing list