代码之家  ›  专栏  ›  技术社区  ›  Stephen Furlani

远程控制鼠标的Apple事件

  •  6
  • Stephen Furlani  · 技术社区  · 14 年前

    我甚至不知道从哪里开始这个问题…

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

    我可以通过以下方式在同一台机器上执行此操作:

     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);
    

    但我该如何将该活动发送到其他地方呢?苹果酱?我读过一些关于AppleEvents是应用程序通信的内容,但是我想在另一台机器上生成一个系统事件?

    完全不确定。

    谢谢,


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

    只是澄清一下,我不想分享屏幕。至少我不这么认为。我把几个Mac Pro连接在一起,每个都有4个监视器。我只想使用一个设备来与每个节点进行“点击”通信。因此,如果设备在节点3上,但设备已插入节点0,则节点0需要告诉节点3它需要响应单击。

    谢谢,


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

    真的?没有人能给我一个具体的代码例子来生成苹果事件,以在C/C++ +Objc C上在远程机器上创建鼠标事件。???

    4 回复  |  直到 11 年前
        1
  •  -1
  •   Bjorn    14 年前
        3
  •  1
  •   Pizzaiola Gorgonzola    11 年前

    tell application "System Events"
    tell process "Finder"
    click at {10, 10}
    end tell
    end tell
    
        4
  •  0
  •   ergosys    14 年前