如何以编程方式配置鼠标增强指针精度

时间:2010-10-10 22:26:22

标签: c++ winapi configuration mouse

如何在C ++中以编程方式配置鼠标增强指针精度? 我知道有一些有用的命令,如SystemParametersInfo,速度,......

int x = 15;
  

SystemParametersInfo(SPI_SETMOUSESPEED,NULL,reinterpret_cast(x),SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);

...但我找不到提高精度----

3 个答案:

答案 0 :(得分:7)

根据SystemParametersInfo功能和SPI_SETMOUSE的{​​{3}}:

  

设置两个鼠标阈值和鼠标加速度。 pvParam参数必须指向包含三个整数的数组,以指定这些值。有关详细信息,请参阅the documentation

因此,您需要一个包含3个值的数组,并在调用pvParam时指定该数组的指针作为SystemParametersInfo参数。

由于您所关心的只是改变加速度(最后一个值),您可能希望保留前两个鼠标阈值的当前值。通过使用SystemParametersInfo标志调用SPI_GETMOUSE来获取这些值,然后修改最后一个(加速),然后再次调用SystemParametersInfo,这次使用{{1} } flag。

示例代码(没有建议的错误检查):

SPI_SETMOUSE

你可能已经知道了这一点,但是有太多表现不好的应用程序,我不提及它以防万一。 如果您在自己的应用程序中执行此操作,请务必保存原始值,以便在应用程序关闭时可以将其恢复!这是您在修改系统范围设置时的基本礼仪

答案 1 :(得分:1)

'增强指针精度'是一个开/关加速选项。

SystemParametersInfo的SPI_SETMOUSE参数将调整此设置。

我无法确切地告诉您加速度值如何受到影响,但如果您SPI_GETMOUSE并显示设置为开启和关闭的值,您就会找到它。

答案 2 :(得分:1)

This discussion有更多信息。它有一个宏似乎正在寻找你正在寻找的东西。转换为C ++应该非常简单;它只是几个DLL调用。