使用脚本更改 windows 设置

Changing windows settings with a script

我有一个问题,当我转动鼠标滚轮时,移动的行数或 w\e 有时会从 3 变为 30,而我兄弟有时会看到它变为 100。

我说的是当你转到 "Control Panel" -> "Mouse" -> 然后是鼠标滚轮选项卡时,它有 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);
}

感谢您的帮助!

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

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

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

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