我正在编写一个玩鼠标光标的玩具应用程序,我正在尝试编程地移动它。使用Cursor.Position = ...或Win32互操作调用在普通机器上工作很好,但我在VMWare下很难让它工作。
有人有什么建议吗?
编辑
澄清:
我有一个运行在VM中的小windows窗体应用程序,它有一个按钮,点击它应该是移动VM中的鼠标光标。我使用了Cursor.Position方法和Wolf5建议的方法。
发布于 2009-06-09 20:56:32
我已经解决了这个问题。
在一次绝望的尝试中,我终于放弃了,取消了VM中的鼠标驱动程序。重新启动后,我的玩具应用程序就可以工作了。
该设备被列为一个VMWare指向设备,重新启动后,它将成为一个“未知设备”,但鼠标仍能工作。虽然我有点偏冷的一面。
发布于 2009-06-09 11:06:06
试一试:
[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之外的位置。
发布于 2009-06-09 11:09:28
不要用真正的鼠标来聚焦VM。或者卸载VMWare鼠标驱动程序,这样VM就不会获得焦点,除非您在其中单击它。
https://stackoverflow.com/questions/969031
复制相似问题