首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Objective-C中以编程方式控制Mac光标

在Objective-C中以编程方式控制Mac光标
EN

Stack Overflow用户
提问于 2012-10-21 14:23:22
回答 2查看 5.6K关注 0票数 4

App Store上有一堆应用程序可以让你控制Mac电脑的光标--你在iPhone上安装应用程序,在Mac电脑上安装一些客户端软件,然后当你在手机上移动手指时,它就会通过蓝牙控制你的Mac电脑。

我的问题是,这是如何做到的?不是在iOS端,而是在Mac端。如何以编程方式更改Mac上光标的位置?

提前感谢:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-21 14:36:24

正如@H2C03所述,你可以通过CGWarpMouseCursorPosition()来做这件事,但是你只能每250毫秒(0.25秒)扭曲一次鼠标位置。为了解决这个问题,你必须添加一些额外的代码来不断地扭曲鼠标。

代码语言:javascript
复制
NSPoint mouseWarpLocation = NSMakePoint(100, 100);

CGEventSourceRef evsrc = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
CGEventSourceSetLocalEventsSuppressionInterval(evsrc, 0.0);
CGAssociateMouseAndMouseCursorPosition (0);
CGWarpMouseCursorPosition(mouseWarpLocation);
CGAssociateMouseAndMouseCursorPosition (1);
CFRelease(evsrc);
票数 9
EN

Stack Overflow用户

发布于 2012-10-21 14:30:11

CoreGraphics可以做到这一点--具体地说,您正在寻找CGWarpMouseCursorPosition()函数。石英石(CoreGraphics) display services documentation这里。

示例:将光标移动到屏幕中心:

代码语言:javascript
复制
CGDirectDisplayID displayID = CGMainDisplayID();
size_t screenWidth = CGDisplayPixelsWide(displayID);
size_t screenHeight = CGDisplayPixelsHigh(displayID);
CGPoint centerOfScreen = CGPointMake(screenWidth / 2, screenHeight / 2);
CGWarpMouseCursorPosition(centerOfScreen);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12995522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档