2014-01-25 7 views
1

Я написал небольшое приложение для изменения настроек мыши.Обновить Windows после изменения настроек мыши через реестр

Проблема в том, что они не применяются при изменении реестра, вместо этого они применяются после того, как я либо выйду из системы, либо загрузиться или перезагрузиться.

код прототипа:

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

Как я могу сделать эти изменения вступают в силу немедленно?

ответ

3

Если вам нужны немедленные действия, вам нужно использовать SystemParametersInfo API с SPI_SETMOUSESPEED параметра:

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

Кроме того, это более профессиональный способ, вместо того, чтобы использовать трюк реестра.

+0

Спасибо! Хотя для изменения скорости мыши SPI_SETMOUSE не является правильной функцией. Использование этих параметров работает. 'SystemParametersInfo (SPI_SETMOUSESPEED, 0, значение (целое *), SPIF_SENDCHANGE);' Источник параметров: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs .85% 29.aspx – Gwypaas

Смежные вопросы