HDRswitch(HDR自动开关)
【开发背景】
Win10和win11系统对比较低端的HDR显示器(比如HDR400、HDR600)的支持都不太好,在桌面下开启HDR会导致色彩明显变浅或发灰,对于这个问题的其中一个办法就是平时不开启HDR,玩游戏时再开启HDR。
HDRswitch原本是一款可以在检测到特定游戏启动时自动开启HDR,在游戏退出后自动关闭HDR的自动化程序,但经过一年多的改进,它现在能实现的功能不止这个,现在HDRswitch还可以在检测到特定游戏或应用启动时自动调整屏幕刷新率和系统音量。
(老用户请注意:在程序安装目录附带了v1.02版本的压缩包,如有需要使用以前的TypeB版本可从中取用)

点击这里开始下载(v1.16)
(老用户请注意:在程序安装目录附带了v1.02版本的压缩包,如有需要使用以前的TypeB版本可从中取用。如果你只需要TypeB版本,可以选择下载旧版本v1.02)
【感谢】
-感谢Codectory,Codectory在GitHub的AutoActions项目中提供了HDRController.dll,使得HDRswitch不再需要依赖模拟xbox game bar快捷键来开关HDR,AutoActions也是一款可以针对特定应用自动开关HDR和更改屏幕分辨率的应用,如果HDRswitch无法满足你的要求,不妨尝试一下AutoAction
-感谢OpenAI的GPT-4模型,是它辅助我这个编程刚入门的家伙完成了HDRswitch这款软件。
【更新日志】 v1.16(2024.12.26) -现在当用户要添加应用时,程序可以列出近期运行过的全屏应用以及目前在运行的应用,方便用户快速添加, HDRswitch在后台运行时会自动记录全屏运行的应用,以便提供此列表。 v1.15(2024.7.3) -修复了当本程序被安装到带有空格的路径时会无法正常开关HDR的BUG -修正了一处对【日常刷新率】描述的遗漏 v1.13(2024.6.25) -现在配置程序在首次运行时,会自动检测当前的屏幕刷新率并将其填写到【日常刷新率】设置里 -在【添加应用】对话框中将手动指定应用路径的提示及按钮进行加粗 v1.12(2024.5.22) -新增【反转HDR自动开关功能】选项,如果你是日常开启HDR,并需要在指定程序/游戏启动时自动关闭HDR,则可以使用此选项 v1.11(2023.11.17) -新增音量自动调节功能 -将配置程序中的操作提示改成了提示气泡样式 -优化了配置程序界面和提示文本的文案,使其更易懂 -为了方便Win10和Win11用户使用,本程序改成以.NET Framework 4.8框架编译 -在低于Windows10 1903版本的系统上安装时,会提示可能需要手动安装.NET Framework 4.8运行库 -现在提供了一个列表供用户选择并添加应用/游戏,免去手动定位exe文件的麻烦 v1.11有几个测试版本,在此处忽略 v1.10(2023/8/8) -修复了在上一版本的配置程序中,用户在清空【为此进程自定义刷新率】设置时程序会崩溃的BUG -现在配置程序会防止用户输入无效值,以避免导致程序崩溃 v1.09(2023.8.7) -改进了对全屏程序的检测机制 -改进了程序图标清晰度 -新增英文支持 -调整了配置程序的界面排版,使其更易于上手 -现在在退出配置程序时,仅在设置被修改过的情况下才会弹出退出确认框 v1.08(2023.4.21) -修复了前两个版本中本程序在开机自启后无法正常运作的BUG -在程序安装目录附带了v1.02版本的压缩包,如有需要使用以前的TypeB版本可从中取用 v1.07(2023.4.21) -新增针对特定进程进行自定义屏幕刷新率的功能 v1.06(2023.4.15) -现在用户可以通过拖拽快捷方式把对应的exe文件添加到HDR进程列表里 -在配置程序界面添加了HDRswitch后台运行状态的信息 -新增了开机自动运行HDRswitch的选项,默认关闭开机自启,用户需手动开启 -更换了软件打包方案,不再使用Advanced Installer而使用Inno Setup v1.05(2023.3.6) -现在用户可以直接通过拖拽将exe文件添加到HDR进程列表里 -完善帮助文案 -现在用户在卸载本软件时可以选择保留设置数据 v1.04(2023.3.4) -为了进一步降低配置难度,增加了UI图形界面形式的配置文件修改程序 -加入在线更新功能 v1.03(2023.3.1) -为了降低配置难度,不再提供TypeB版本,因为实践表明TypeA可以适用于绝大部分游戏 -为了降低配置难度,本软件将以安装包形式发布 -现在用户更改配置文件后,只需要再次启动主程序即可使新的设定生效,主程序会自动结束旧的进程,无需用户手动进任务管理器结束进程 -现在当检测到用户正在使用全屏软件时,将会把进程检测频率降低。此举是为了在用户玩其他非HDR游戏时进一步降低后台CPU占用,用户也可以选择禁用此选项(在i5-7500配置下测试:该选项可将CPU平均占用率从0.05%降低到0.03%) -将开关HDR的实现方式从模拟快捷键改为调用DLL,因此本软件不再依赖xbox game bar v1.02(2022.7.8) -区分TypeA和TypeB版本,使用不同的实现方法 -附带ResRefSwitch程序,可一键更改屏幕分辨率和刷新率 v1.01(2022.1.31) -增加对Steam和Origin等正版游戏平台的支持 v1.00(2022.1.23) -初始版本
在多屏幕的情况下,能否让软件只操控一个屏幕的hdr呢
@Azusa HDRswitch暂时没有这样的功能呢,不过你可以尝试另一款软件AutoAction,可以在GitHub上搜到
作者大大你好,我这边试了一下毁灭战士:永恒、杀手3、对马岛之魂这几个游戏,不知道为啥打开游戏之后hdr都没有自动打开,进程地址添加的都没问题,我的系统是Windows 11 专业版 24H2
@qty 补充一下,能自动关,但是不能自动开,AutoAction也是同样情况
@qty 如果AutoAction也这样的话,那恐怕这边也很难有完美的解决方案,因为HDRswitch本来就是借用AutoAction的dll文件来实现开关HDR的。
还有另一个不那么完美的方案可以尝试一下:使用HDRswitch的v1.02版本,因为那个旧版本是通过让用户安装xbox game bar,然后自动模拟按下快捷键来实现开关HDR的,不受AutoAction的dll文件兼容性的影响。
作者可不可以增加一个判定,就是只有全屏的才触发,我的potplayer在使用中会当作音频播放器,但是一旦启动pot就会启动hdr,或者我有的时候窗口化挂机游戏不需要hdr,只有全屏的时候才需要hdr,不知道有没有实现的可能
win11 24h2打开自动色彩管理就失效了,但是xbox快捷键可以开关hdr,用原始版本还行但是没有后面的图形界面了