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

The*_*Guy 4 macos objective-c

App Store上有很多应用程序允许您控制Mac的光标 - 您可以在iPhone上安装应用程序和Mac上的某些客户端软件,然后在手机上移动手指并控制Mac通过蓝牙.

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

提前致谢 :)

The*_*mer 9

正如@ H2C03所说,你可以通过CGWarpMouseCursorPosition(),但是你只能每250毫秒(0.25秒)扭曲鼠标位置.为了解决这个问题,你必须添加一些额外的代码才能连续扭曲鼠标.

NSPoint mouseWarpLocation = NSMakePoint(100, 100);

CGEventSourceRef evsrc = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
CGEventSourceSetLocalEventsSuppressionInterval(evsrc, 0.0);
CGAssociateMouseAndMouseCursorPosition (0);
CGWarpMouseCursorPosition(mouseWarpLocation);
CGAssociateMouseAndMouseCursorPosition (1);
CFRelease(evsrc);
Run Code Online (Sandbox Code Playgroud)

  • @TheAmateurProgrammer - 这样任何复制和粘贴此代码的人都会从内存泄漏中保存,请将其添加到底部的代码片段中:CFRelease(evsrc); (2认同)