Objective C - Mac OS X - 模拟鼠标点击事件到特定应用程序

4

你好,我想要做的是模拟在应用程序窗口中进行鼠标点击操作,例如在查找器中。

目前我的代码可以执行鼠标双击事件,但只能在屏幕左上角进行点击。假设用户点击了查找器,查找器窗口打开了。我希望我的代码可以模拟在指定应用程序的中心位置进行点击。

双击事件的代码:

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);

我该如何完成这个任务?
1个回答

0

要更改点击位置,您需要修改此行:

CGEventRef theEvent = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, CGPointMake(0,0), kCGMouseButtonLeft);

CGEventRef theEvent = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, CGPointMake(desiredX,desiredY), kCGMouseButtonLeft);

其中desiredX和desiredY是您的窗口/应用程序中心的x和y坐标。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接