rap*_*tor 3 c++ mouse configuration winapi
如何在C++中以编程方式配置鼠标增强指针精度?我知道有一些有用的命令,如SystemParametersInfo,速度,...
int x = 15;
Run Code Online (Sandbox Code Playgroud)
SystemParametersInfo(SPI_SETMOUSESPEED,NULL,reinterpret_cast(x),SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
...但我找不到提高精度----
根据该功能的文档SystemParametersInfo和SPI_SETMOUSE:
设置两个鼠标阈值和鼠标加速度.该
pvParam参数必须指向一个指定这些值的三个整数数组.有关详细信息,请参阅mouse_event.
因此,您需要一个包含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);
}
Run Code Online (Sandbox Code Playgroud)
你可能已经知道了这一点,但是有太多表现糟糕的应用程序,我不提及它以防万一.如果您在应用程序中执行此操作,请务必保存原始值,以便在应用程序关闭时还原它!当您修改系统范围的设置时,这只是基本礼仪.
| 归档时间: |
|
| 查看次数: |
2719 次 |
| 最近记录: |