用于远程控制鼠标的Apple事件

Ste*_*ani 6 macos mouse events cocoa macos-carbon

我甚至不确定从这个问题开始......

我希望能够将鼠标单击事件发送到另一台计算机,就像用户单击该计算机一样.

我可以通过以下方式在同一台机器上完成:

 CGEventSourceRef source = CGEventSourceCreate(NULL);
 CGEventType eventType = kCGEventLeftMouseDragged;
 CGPoint mouseCursorPosition;
 mouseCursorPosition.x = point.x;
 mouseCursorPosition.y = point.y;
 CGMouseButton mouseButton = kCGMouseButtonLeft;

 CGEventRef mouseEvent = CGEventCreateMouseEvent ( source,
               eventType,
               mouseCursorPosition,
               mouseButton );
 CGEventSetType(mouseEvent, kCGEventLeftMouseDragged); // Fix Apple Bug
 CGEventPost( kCGSessionEventTap, mouseEvent );
 CFRelease(mouseEvent);
Run Code Online (Sandbox Code Playgroud)

但是我如何在其他地方发送该事件?AppleScript的?我已经阅读了AppleEvents与app-app通信的一些内容,但我想在另一台机器上生成一个系统事件?

完全不确定.

谢谢,


[编辑11/1/10 7:30a]

只是为了澄清,我不打算屏幕分享.至少我不这么认为.我有几个连接在一起的mac pro集群,每个都有4个监视器.我试图只使用一个设备来向每个节点传达"点击".因此,如果设备在节点3上,但设备插入node0,则node0需要告知节点3它需要响应点击.

谢谢,


[编辑11/4/10 9:32 am]

真?没有人能给我一个具体的代码示例,以编程方式生成Apple事件,以便在C/C++/Objc-C中的远程机器上创建鼠标事件.

Bjo*_*orn -1

这可能涉及编写设备驱动程序并假装成鼠标。

  • 你可以,但你想发送鼠标事件,这是完全不同的。也许您实际上并不需要设备驱动程序,而是需要某种侦听应用程序来侦听连接,然后执行您已经弄清楚的操作。 (2认同)