![如何在每次 Windows 启动时更新注册表值?](https://linux22.com/image/1575237/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%AF%8F%E6%AC%A1%20Windows%20%E5%90%AF%E5%8A%A8%E6%97%B6%E6%9B%B4%E6%96%B0%E6%B3%A8%E5%86%8C%E8%A1%A8%E5%80%BC%EF%BC%9F.png)
Windows 中存在这种令人烦恼的情况,应用程序不断夺走你的注意力。我发现这非常非常烦人,因为我需要处理并行任务。
但是,我发现一些注册表值可以在 Windows 中更新,从而禁用焦点窃取。问题是,这只在下次重新启动 Windows 之前有效。之后它会恢复到其默认行为。
如何确保每次重启后 Windows 中的以下键都会更新(无需任何手动干预)。
HKEY_CURRENT_USER\Control Panel\Desktop 编辑 UserPreferenceMask 值为 9F 3E 07 80 12 00 00 00(这里有很多数字,我只需要更新 9F 3E 07 部分,其余值保持不变)
HKEY_CURRENT_USER\Control Panel\Desktop 编辑 ActiveWndTrkTimeout,改为十进制的 150
HKEY_CURRENT_USER\Control Panel\Desktop 编辑 ForegroundFlashCount,将其更改为十进制的 7000 之类的值
最后,我设置了这个,虽然从我读到的内容来看,它在 Windows Vista+ 中可能/可能不会执行任何操作(这是我尝试的第一件事,但没有成功,但我保留了它):
HKEY_CURRENT_USER\Control Panel\Desktop 将 ForegroundLockTimeout 编辑为非常大的值(例如十进制的 9999999)
注销并重新登录;到目前为止,我知道那些窃取焦点的程序现在都默默地在后台休息,并在任务栏上闪烁,耐心地等待我……啊啊啊啊啊啊!
答案1
我按照 Alex 建议的方向进行研究,并得出以下解决方案:
- 创造.bat 文件在窗户上
- 在文件中输入以下代码:
@Echo Off echo 'success' Title Reg Converter v1.2 & Color 1A cd %systemroot%\system32 call :IsAdmin
Reg.exe 添加“HKCU\控制面板\桌面”/v“ActiveWndTrackTimeout”/t REG_DWORD /d“150”/f Reg.exe 添加“HKCU\控制面板\桌面”/v“ForegroundFlashCount”/t REG_DWORD /d“7000”/f Reg.exe 添加“HKCU\控制面板\桌面”/v“ForegroundLockTimeout”/t REG_DWORD /d“9999999”/f Reg.exe 添加“HKCU\控制面板\桌面”/v“UserPreferencesMask”/t REG_BINARY /d“9f3e078012000000”/f 退出
:IsAdmin Reg.exe 查询“HKU\S-1-5-19\Environment”如果不是 %ERRORLEVEL% EQU 0(Cls & Echo 您必须具有管理员权限才能继续...暂停并退出)Cls goto:eof
将其添加到Windows 任务计划程序到在启动时运行(请注意,将其添加到启动会导致问题,因为脚本需要管理员访问权限)。
创建任务时请务必检查提升权限复选框