早在2010年,Pierre问this问题(他接受的答案不适用于我)。模拟MouseEvent不能正常工作OSX
我遇到了同样的问题:我能够成功地从我的Cocoa应用程序中以编程方式移动鼠标(并关闭!?!),但将鼠标移动到我的扩展坞的位置时不显示它(和其他一些应用程序不注册鼠标移动事件,如游戏,删除鼠标。)
我使用的方法是这样的:
void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point)
{
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button);
CGEventSetType(theEvent, type);
CGEventPost(kCGSessionEventTap, theEvent);
CFRelease(theEvent);
}
,然后当我想移动鼠标我运行:
PostMouseEvent(0, kCGEventMouseMoved, mouseLocation);
请注意,此代码会为链接等事件生成鼠标悬停事件。
现在,这是2013年,是否有可能解决这个问题?
谢谢你的时间!
您应该考虑屏幕的其他边缘。而且,对于多台显示器,屏幕的原点可能具有负面分量。 – 2013-03-16 22:27:42
是的,会做。 好的,我不知道有关额外的显示器......谢谢! (我的项目将使用额外的显示器......幸运的你告诉我了!) – 2013-03-17 06:25:21