How to trigger a mouseDown:(NSEvent *) programmatically (without using the mouse)?

不想你离开。 提交于 2019-12-06 04:38:41

This worked well for me in Cocoa Mac:

void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point)
{
   CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button);
   CGEventSetType(theEvent, type);
   CGEventPost(kCGHIDEventTap, theEvent);
   CFRelease(theEvent);
}

Use this link to find out about the parameters: https://developer.apple.com/library/mac/#documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html

For example, to trigger a MouseDown event at the point (500,500) I've used:

PostMouseEvent(kCGMouseButtonLeft, NX_LMOUSEDOWN, CGPointMake(200, 200));
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!