c++ - 通过注册表更改鼠标设置后刷新 Windows

标签 c++ windows qt

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

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

原型(prototype)代码:

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

如何使更改立即生效?

最佳答案

如果你需要立即行动,你需要使用 SystemParametersInfo API 与 SPI_SETMOUSESPEED 参数:

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

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

关于c++ - 通过注册表更改鼠标设置后刷新 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21345532/

相关文章:

windows - 字符串匹配后输出行的批处理文件,文件名

c++ - 如何关闭由自定义 QItemDelegate::createEditor() 创建的编辑器

c++ - T::* 在函数参数列表的声明中表示什么?

c++ - 在调用 cmake 之前删除构建文件夹中的所有内容是否合理?

c++ - 极其简单的 POSIX C++ IPC

c++ - 程序崩溃 - 如何读取 appcompat.txt?

c++ - Qt : from unsigned long long to QJsonObject

C++ 分配的字节数比要求的多?

c++ - Qt中的单元测试非返回函数

c# - 为我的应用程序制作属性处理程序以将自定义属性添加到文件格式