如何在C++中以编程方式配置鼠标增强指针精度?
我知道有一些有用的命令,例如SystemParametersInfo,可以提高速度,...
int x = 15;
...但是我找不到提高精度----
最佳答案
根据the documentation的SystemParametersInfo
函数和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);
}
您可能已经知道了这一点,但是对于我来说,有太多表现欠佳的应用程序,以防万一。 如果要在应用程序中执行此操作,请确保保存原始值,以便在应用程序关闭时可以将其恢复! 在修改系统范围的设置时,这只是基本的礼节。