使用脚本更改窗口设置

时间:2015-10-08 17:32:54

标签: c# windows mousewheel

我有一个问题,就是每隔一段时间,当我转动鼠标滚轮时移动的线条数量或者w / e从3变为30,而我的兄弟有时会看到它变为100。

我在谈论的是当你去"控制面板" - > "小鼠" - >然后是鼠标滚轮标签,它有2个数字滚动条,我需要用脚本或.exe或任何你知道如何更改它的方式更改第一个的值。

对于可能遇到该问题但想要解决方案的人,请参阅以下代码:

[DllImport("user32.dll", SetLastError = true)]
static extern bool SystemParametersInfo(int uiAction, int uiParam, IntPtr pvParam, int fWinIni);

static void Main(string[] args)
{
    const int SPI_SETWHEELSCROLLLINES = 0x0069;
    const int SPIF_UPDATEINIFILE = 0x01;
    const int SPIF_SENDCHANGE = 0x02;

    SystemParametersInfo(SPI_SETWHEELSCROLLLINES, 3, IntPtr.Zero,
                         SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
}

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

系统参数通过注册表项更改,因为(1)这是一个实现细节,可能会在Windows的未来版本中更改,甚至取决于其他用户配置文件设置和(2)因为您只更新保存的值,而不是当前活动的值。

正确的方法是使用SystemParametersInfo API指定正确的参数常量(在您的情况下,SPI_SETWHEELSCROLLLINES)和SPIF_UPDATEINIFILE | SPIF_SENDCHANGE作为最后一个参数,以便立即激活它将它保存为下一个会话。

答案 1 :(得分:0)

使用regedit,您可以设置一个脚本来设置鼠标滚动速度,属性在这里: HKEY_CURRENT_USER \ Control Panel \ Desktop \ WheelScrollLines

只需浏览regedit(win + R regedit)查看WeelScrollLines值,然后创建一个由microsoft指定的reg文件:https://support.microsoft.com/en-us/kb/310516#bookmark-syntax