我想要做的就是模拟鼠标点击应用程序的窗口,例如finder。
到目前为止,这是关于如何进行鼠标双击事件的代码。但只会点击左上角的屏幕。假设用户点击查找器,查找器窗口打开。我希望我的代码能够模拟指向应用程序中心的点击。
双击代码:
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, CGPointMake(0,0), kCGMouseButtonLeft);
CGEventPost(kCGHIDEventTap, theEvent);
CGEventSetType(theEvent, kCGEventLeftMouseUp);
CGEventPost(kCGHIDEventTap, theEvent);
CGEventSetIntegerValueField(theEvent, kCGMouseEventClickState, 2);
CGEventSetType(theEvent, kCGEventLeftMouseDown);
CGEventPost(kCGHIDEventTap, theEvent);
CGEventSetType(theEvent, kCGEventLeftMouseUp);
CGEventPost(kCGHIDEventTap, theEvent);
CFRelease(theEvent);
我该如何做到这一点?
答案 0 :(得分:0)
要更改点击的位置,您需要修改此行:
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, CGPointMake(0,0), kCGMouseButtonLeft);
到
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, CGPointMake(desiredX,desiredY), kCGMouseButtonLeft);
其中,期望X和期望Y是窗口/应用程序中心的x和y。