C++ 通过注册表更改鼠标设置后刷新窗口

C++ 通过注册表更改鼠标设置后刷新窗口,c++,windows,qt,C++,Windows,Qt,我编写了一个小应用程序来更改我的鼠标设置 问题是,当我更改注册表时,它们不会应用,而是在我注销并登录或重新启动后应用 原型代码: QSettings settings("HKEY_CURRENT_USER\\Control Panel\\Mouse", QSettings::NativeFormat); QVariant value("10"); settings.setValue("MouseSensitivity", value); 如何使更改立即生效?如果需要立即采取行动,则需要使用 S

我编写了一个小应用程序来更改我的鼠标设置

问题是,当我更改注册表时,它们不会应用,而是在我注销并登录或重新启动后应用

原型代码:

QSettings settings("HKEY_CURRENT_USER\\Control Panel\\Mouse", QSettings::NativeFormat);
QVariant value("10");
settings.setValue("MouseSensitivity", value);

如何使更改立即生效?

如果需要立即采取行动,则需要使用
SystemParametersInfo
API和
SPI\u SETMOUSESPEED
参数:

int mouseParams[3];
mouseParams[2] = NewmouseAccel;
SystemParametersInfo(SPI_SETMOUSE, 0, mouseParams, SPIF_SENDCHANGE);

此外,这是一种更专业的方式,而不是使用注册表技巧。

如果您需要立即采取行动,您需要使用
SystemParametersInfo
API和
SPI\u SETMOUSESPEED
参数:

int mouseParams[3];
mouseParams[2] = NewmouseAccel;
SystemParametersInfo(SPI_SETMOUSE, 0, mouseParams, SPIF_SENDCHANGE);

此外,这是一种更专业的方式,而不是使用注册表技巧。

如果您需要立即采取行动,您需要使用
SystemParametersInfo
API和
SPI\u SETMOUSESPEED
参数:

int mouseParams[3];
mouseParams[2] = NewmouseAccel;
SystemParametersInfo(SPI_SETMOUSE, 0, mouseParams, SPIF_SENDCHANGE);

此外,这是一种更专业的方式,而不是使用注册表技巧。

如果您需要立即采取行动,您需要使用
SystemParametersInfo
API和
SPI\u SETMOUSESPEED
参数:

int mouseParams[3];
mouseParams[2] = NewmouseAccel;
SystemParametersInfo(SPI_SETMOUSE, 0, mouseParams, SPIF_SENDCHANGE);

而且这是一种更专业的方式,而不是使用注册表技巧。

谢谢!但是,对于更改鼠标速度,SPI_SETMOUSE不是正确的功能。使用这些参数是可行的<代码>系统参数信息(SPI_SETMOUSESPEED,0,(int*)值,SPIF_SENDCHANGE)参数来源:谢谢!但是,对于更改鼠标速度,SPI_SETMOUSE不是正确的功能。使用这些参数是可行的<代码>系统参数信息(SPI_SETMOUSESPEED,0,(int*)值,SPIF_SENDCHANGE)参数来源:谢谢!但是,对于更改鼠标速度,SPI_SETMOUSE不是正确的功能。使用这些参数是可行的<代码>系统参数信息(SPI_SETMOUSESPEED,0,(int*)值,SPIF_SENDCHANGE)参数来源:谢谢!但是,对于更改鼠标速度,SPI_SETMOUSE不是正确的功能。使用这些参数是可行的<代码>系统参数信息(SPI_SETMOUSESPEED,0,(int*)值,SPIF_SENDCHANGE)参数的源代码: