OSX - 使光标单击特定的屏幕坐标

时间:2014-10-13 05:43:22

标签: objective-c ruby macos

在运行OS X(mavericks)的Mac上,如何在屏幕上的特定坐标上点击光标每秒X次?<​​/ p>

我假设必须可以从命令行使用这样的东西,但我找不到任何相关的函数/库。我假设他们会在Objective-c。

1 个答案:

答案 0 :(得分:3)

创建合成点击事件可以通过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与沙盒结合使用时,可能会遇到问题。