【发布时间】:2021-11-14 13:30:35
【问题描述】:
所以,我已经准备好在 c# 中移动并单击 LMB 的每一行代码,但我的问题是游标只是传送到所需的位置,它看起来很糟糕。而不是“teleporation”发生,我希望鼠标在设定的时间(最好是毫秒)内平稳移动到所需位置。
我正在寻找类似这样的方法:
public void MoveMouse(int xDelta, int yDelta, double timeInMiliseconds)...
目前我用这个作为我的移动方法
[DllImport("user32.dll")]
static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
---
private const int MOUSEEVENTF_MOVE = 0x0001;
public static void MoveMouse(int x_Delta, int y_Delta)
{
mouse_event(MOUSEEVENTF_MOVE, xDelta, yDelta, 0, 0);
}
澄清一下,我在 X 和 Y 轴上将鼠标移动了一定数量的像素,而不是硬设置屏幕上的位置。
我已经尝试将运动分成更小的部分,但由于像素不能加倍,这意味着有时,当除法有余数时,我会失去精度。
任何想法如何实施?我读过一些关于向量的东西,但我没有设法让它们按预期工作:(
干杯!
【问题讨论】:
标签: c# events methods pixel mousemove