【发布时间】:2013-03-25 01:33:20
【问题描述】:
我正在使用这个函数来移动光标。
[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);
当我使用热键触发它时,光标将移动到正确的坐标,下次我移动鼠标时,它会从那个位置继续。按预期工作。
但是我需要在 MouseMove 事件期间触发 SetCursorPos。如果用户将鼠标移动到某个区域,我希望它跳到另一个地方并从那里继续。但现在它会跳到目的地,然后立即跳回(90% 的时间)。我怎样才能避免这种行为?
编辑:我决定通过在 1 x 1 px 正方形中为 1 个 mousemove 事件剪辑光标来解决这个问题。 Cursor.Clip(MousePosition, new Rectangle(1, 1));
【问题讨论】:
-
请发布您的 MouseMove 事件处理程序代码。
-
我实际上只是在调用该函数,在 MouseMove 事件中没有其他任何内容。
-
@user1340531:还是发帖吧?
-
这往往会受到“如果两个程序这样做会怎样?”的影响。困境。就像您和获取鼠标移动消息的程序一样。用户总是输。