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

int x = 15;



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

最佳答案

根据the documentationSystemParametersInfo函数和SPI_SETMOUSE:



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

由于您关心的只是更改加速度(最后一个值),因此您可能希望保留前两个值(鼠标阈值)的当前值。为此,请使用SystemParametersInfo标志调用SPI_GETMOUSE获取这些值,然后修改最后一个值(加速度),然后再次使用SystemParametersInfo标志调用SPI_SETMOUSE

示例代码(不建议进行错误检查):

// Turns mouse acceleration on/off by calling the SystemParametersInfo function.
// When mouseAccel is TRUE, mouse acceleration is turned on; FALSE for off.
void SetMouseAcceleration(BOOL mouseAccel)
{
    int mouseParams[3];

    // Get the current values.
    SystemParametersInfo(SPI_GETMOUSE, 0, mouseParams, 0);

    // Modify the acceleration value as directed.
    mouseParams[2] = mouseAccel;

    // Update the system setting.
    SystemParametersInfo(SPI_SETMOUSE, 0, mouseParams, SPIF_SENDCHANGE);
}

您可能已经知道了这一点,但是对于我来说,有太多表现欠佳的应用程序,以防万一。 如果要在应用程序中执行此操作,请确保保存原始值,以便在应用程序关闭时可以将其恢复! 在修改系统范围的设置时,这只是基本的礼节。

10-08 15:03