在运行OSX(Mavericks)的Mac上,如何使光标每秒在屏幕上的特定坐标处单击X次?
我假设这样的事情在命令行中一定是可能的,但是我还没有找到任何相关的函数/库。我想他们应该在C区。

最佳答案

创建综合点击事件可以通过Quartz Event Services完成。
要模拟单击位置(100.0/100.0),可以使用以下代码:

CGPoint location = CGPointMake(100.0, 100.0);
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, location, kCGMouseButtonLeft);
CGEventSetIntegerValueField(theEvent, kCGMouseEventClickState, 1);
CGEventPost(kCGHIDEventTap, theEvent);
CGEventSetType(theEvent, kCGEventLeftMouseUp);
CGEventPost(kCGHIDEventTap, theEvent);
CFRelease(theEvent);

请注意,尝试将事件服务api与沙箱结合使用时可能会遇到问题。

08-04 21:44