Display Locker:锁定屏幕分辨率、刷新率和颜色位数的小工具

Display Locker是一款用来锁定屏幕分辨率、刷新率和颜色位数的小工具,适用于Windows平台。

Display Locker界面

Display Locker界面

详细信息请见项目网址:https://malash.me/project/display-locker/

这个项目的最初的需求来源于我自己遇到的一个问题。我的笔记本在开机、断开充电器和重连充电器之后,屏幕的刷新率会自动降为40Hz,导致屏幕闪烁对眼睛不是很好。我尝试过网上的各种办法:改显卡控制面板、改注册表,但都没有成功,所以我决定写一个小软件实现锁定刷新率(和分辨率)的功能。

Display Locker(版本v0.1.0)使用C++编写,功能实现依靠WindowsAPI,图形界面使用Qt完成,代码总行数不到600行,断断续续写了3天。

经验教训及感受:

1、Qt在快速编写图形界面上确实有很大的优势,简洁而强大。

2、Qt换用jom后编译速度大大提升,值得使用。

3、WindowsAPI一如既往的复杂恶心难用落后,但很多功能不得不依靠它完成。WindowsRT似乎能解决这个问题,但很显然需要很长的时间才能普及。

4、据说80%的蓝屏死机是和显卡有关的,这句话说的很对。在Display Locker的编写和调试过程中我的笔记本死机了N次,大概又要重装系统了。

5、代码的即时备份和版本控制非常重要,由于频繁的死机和强制重启,一个很重要的.cpp在重启后变为了全0文件,幸亏最后使用DiskGenius恢复成功,不然Display Locker又要晚一天发布了。

最后欢迎各位朋友下载使用并提出宝贵意见,我会在下一版中进行修改。

一条评论

  1. 刚刚看了你的CNVD证书通知,我一开始向cnvd发了两个漏洞,第一个被作废,第二个被归档。但是归档后在网站内根本查询不到我的漏洞。也没有什么给我回复。请问问题所在。

    Reply
  2. 你当时是不是也是跟踪漏洞提示也是 一级审核通过,二级通过 三级通过 然后验证通过,最后显示已归档? 也出现了延迟么? 这都4天了

    Reply
  3. 我也搜了下你的,貌似你的按照证书号搜都搜不到了。我给他们发邮件没人回。 当时他们是给你系统信息让你填住址然后给你发的么? 还是通过什么别的方法?

    Reply
  4. 你好,请问这个工具支持多显示器的锁定分辨率吗? 最近换了新显卡和显示器,有个新特性比较郁闷,热插拔检测, 在这个作用下,如果关闭显示器,系统会认为没有连接,然后将分辨率改成默认值(1024*768)。我个人现在是懒得关机派,结果就是开机后发现所有窗口都变小了。
    不知道这个否是可以解决这个问题。谢谢

    Reply
  5. 尝试了一下,但效果似乎不管用,(PS 没用管理员权限,现在还是一个显示器,不知道上2个会有什么差别)
    关闭显示器后,显卡探测到未连接显示器,然后系统会把分辨率改小,所有窗口位置都移动了

    Reply
  6. 在 Win8.1 X64 下,不是很好用
    不过,我这里新系统做完了,默认分辨率是1600*900。可能和系统最初的显示器大小有关吧。
    现在解决方法是同时连接2个显示输出(到同一个显示器),
    不知道为什么 HDMI 好像不会因为关闭显示器而丢失连接, 原因可能是他们供电不同吧。

    Reply
  7. 我用4K电视机做显示器,使用MiniDP转HDMI 1.4线,工作在3840×2160@30Hz。如果不关电脑,只关闭电视机,重开电视机时,也是4K模式的,只不过所有打开的窗口和桌面图标被挤在左上角,刚好占1/4屏幕。很明显是曾被切换为1920×1080过。尝试设置过证实并非电视机预览窗口惹的祸,反复分析原因不明。使用display-locker 0.2版锁定分辨率也不行,老大帮忙分析下原因,谢谢!

    Reply
  8. 是啊,看来是相当于拔掉了显示器,仔细检查,原来是分辨率曾经变成了1024×768.重新打开电视机后,显示分辨率变为4K。M大,您下一版程序能把系统没显示器时的缺省分辨率锁定为4K吗?谢谢。

    Reply
    • 你的电脑的屏幕不是4K的,是没法锁定为4K分辨率的,因为任何一个显示器都不能设置为超过自己显示能力的分辨率的。
      我的程序里会自动获取全部支持的分辨率,如果不支持,就没办法了。

      Reply

回复 artyaya 取消回复