如何在 C# 中更改鼠标的 DoubleClickSpeed?
Posted
技术标签:
【中文标题】如何在 C# 中更改鼠标的 DoubleClickSpeed?【英文标题】:How to change the DoubleClickSpeed for mouse in C#? 【发布时间】:2021-11-19 08:41:46 【问题描述】:我需要以编程方式更改 DoubleClickSpeed。
到目前为止,我已经成功更改了注册表值:
const string userRoot = "HKEY_CURRENT_USER";
const string subkey1 = "Control Panel";
const string subkey2 = "Mouse";
const string keyName = userRoot + "\\" + subkey1 + "\\" + subkey2;
Registry.SetValue(keyName, "DoubleClickSpeed", 900, RegistryValueKind.String);
此外,我可以通过检查 Windows 10 中的“鼠标属性”对话框来确认该值已更改:
我遇到的问题是,尽管注册表值已更改,但新的双击速度在我打开鼠标属性对话框并单击“确定”之前不会生效。我猜测关闭对话框的过程会强制 Windows 再次查找注册表值以使其处于活动状态。
有没有一种方法可以让 Windows 重新加载/查找 DoubleClickSpeed 值,而无需用户打开和关闭鼠标属性对话框?
【问题讨论】:
【参考方案1】:啊,想通了。必须使用 SystemParametersInfo 并直接向 SPI_SETDOUBLECLICKTIME 发送消息。这完全避免了更改注册表的需要。
【讨论】:
以上是关于如何在 C# 中更改鼠标的 DoubleClickSpeed?的主要内容,如果未能解决你的问题,请参考以下文章