C# 使用脚本更改windows设置

C# 使用脚本更改windows设置,c#,windows,mousewheel,C#,Windows,Mousewheel,我有一个问题,每隔一段时间,当我转动鼠标滚轮时,移动的线或w\e的数量从3变为30,我哥哥有时会看到它变为100 我说的是,当你进入“控制面板”->“鼠标”->,然后进入鼠标滚轮选项卡,它有两个数字滚动条,我需要用脚本或.exe或任何你知道如何更改的方式来更改第一个滚动条的值 对于可能遇到该问题并希望获得解决方案的人,以下是代码: [DllImport("user32.dll", SetLastError = true)] static extern bool SystemParametersI

我有一个问题,每隔一段时间,当我转动鼠标滚轮时,移动的线或w\e的数量从3变为30,我哥哥有时会看到它变为100

我说的是,当你进入“控制面板”->“鼠标”->,然后进入鼠标滚轮选项卡,它有两个数字滚动条,我需要用脚本或.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\U当前用户\控制面板\桌面\滚动线

只需浏览regedit(win+R regedit)查看WeelScrollLines值,然后创建一个由microsoft指定的注册表文件:

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


正确的方法是使用
SystemParametersInfo
API指定正确的参数常量(在您的情况下,
SPI\u SETWHEELSCROLLLINES
)和
SPIF\u UPDATEINIFILE | SPIF\u SENDCHANGE
作为最后一个参数,立即激活它并将其保存到下一个会话中

您的.reg文件将是这样的,文本板中只有两行。[HKEY_CURRENT_USER\Control Panel\Desktop]“WheelScrollLines”=“3”我已经编辑了帖子,注册表更改有效,但控制面板中的实际值没有更改。也许您也可以为该语言添加标记?当然。一开始我并不完全确定我必须使用C#,我想也许有人会有一个简单的方法来使用一些简短的.bat文件。行。谢天谢地,我花了几分钟的时间,但我从pinvoke中找到了所有的常量值,它工作了。谢谢!也许有一些WMI对象是这样的?