如何在每次 Windows 启动时更新注册表值?

如何在每次 Windows 启动时更新注册表值?

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 建议的方向进行研究,并得出以下解决方案:

  1. 创造.bat 文件在窗户上
  2. 在文件中输入以下代码:

@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

  1. 将其添加到Windows 任务计划程序在启动时运行(请注意,将其添加到启动会导致问题,因为脚本需要管理员访问权限)。

  2. 创建任务时请务必检查提升权限复选框

相关内容