【问题标题】:Programaticly Move Mouse in VMWare C#在 VMWare C# 中以编程方式移动鼠标
【发布时间】:2009-06-09 09:17:17
【问题描述】:

我正在编写一个使用鼠标光标播放的玩具应用程序,并且我正在尝试以编程方式移动它。使用Cursor.Position = ... 或 Win32 互操作调用在普通机器上工作正常,但我很难让它在 VMWare 下工作。

有人有什么建议吗?

编辑

澄清一下:

我有一个在 VM 中运行的小型 Windows 窗体应用程序,它上面有一个按钮,单击时它应该在 VM 内移动鼠标光标。我已经使用了 Cursor.Position 方法和 Wolf5 建议的方法。

【问题讨论】:

    标签: c# mouse vmware


    【解决方案1】:

    试试这个:

    [DllImport("user32", SetLastError = true)]
        private static extern int SetCursorPos(int x, int y);
    
        public static void SetMousePos(Point p) {
            SetMousePos(p.X, p.Y);
        }
    
        public static void SetMousePos(int x, int y) {
            SetCursorPos(x, y);
        }
    

    当然,您首先必须确保 VMWARE 具有焦点,因为它无法将鼠标的鼠标位置设置在 VMWARE 之外。

    【讨论】:

    • + 表示“将你的真实鼠标移到虚拟机之外”
    【解决方案2】:

    不要用真正的鼠标来聚焦虚拟机。或者卸载 VMWare 鼠标驱动程序,这样 VM 就不会获得焦点,除非您在其中单击。

    【讨论】:

      【解决方案3】:

      我已经解决了这个问题。

      在绝望地尝试任何东西后,我最终放弃并从 VM 中卸载了鼠标驱动程序。重启后,我的玩具应用程序就可以工作了。

      该设备被列为 VMWare 指针设备,重新启动后它作为“未知设备”出现,但鼠标仍然可以工作。虽然我有点偏激。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多