无论如何,是否可以使用setCursorPos(int,int)函数,但没有采用两个int使它需要速度较慢的两倍

Is there anyway to use the SetCursorPos(int, int) function but instead of taking two int make it take two doubles for slower speed

本文关键字:int 速度 两倍 函数 setCursorPos 可以使 是否 无论如何 两个      更新时间:2023-10-16

我正在尝试使xbox控制器移动光标,无论如何我都可以使用setCursorPos()函数,并增加两个双打而不是两个int。问题是1仍然太快了。

SetCursorPos()不会增加光标,它将其移至新的绝对x/y位置。有关描述,请参见文档。不,您不能用float params调用它,它需要int参数。

您没有提供任何代码,因此对其他方法进行评论是不可能的。如果您正在增加位置,例如

 x = x+1;
 x = y+1;
 SetCursoPos(x,y);

为了使其移动速度较慢,您可以简单地在连续调用之间添加一个延迟到SetCursorPos()

对于可靠的输入注入,您应该使用sendInput而不是SetCursorPos。这样可以确保系统执行输入处理的整个管道,从而使应用程序满意。设置MOUSEEVENTF_ABSOLUTE标志使您可以通过[0..65535]范围内的归一化坐标传递。在绝大多数情况下,这提供了比显示器更高的分辨率。本质上,这允许使用子像素精度。