如果我使用 cmd 手动更改注册表项值,它们将无法生效/更改,直到我重新启动/注销我的计算机。
例如。
reg ADD "HKEY_CURRENT_USER\Control Panel\Desktop" /v MouseWheelRouting /t REG_DWORD /d 2 /f
我必须重新启动/退出才能使更改生效
但我想找到一种方法让它们工作,而无需重新启动/退出我的计算机。
那么,有没有简单的方法可以实现这一点?使用 batch/cmd。
答案1
一般情况下,只要广播该消息就可以使这些新设置生效WM_SETTINGCHANGE
。
例如,在 AutoIt 中,你可以执行以下操作
#include <SendMessage.au3>
Dim Const $WM_SETTINGCHANGE = 0x001A
Local $hWnd = WinGetHandle("[CLASS:Shell_TrayWnd]")
If @error Then
MsgBox(0, "", "An error occurred when trying to retrieve the window handle.")
Exit
Else
_SendMessage ($hWnd, $WM_SETTINGCHANGE)
EndIf