无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 11534|回复: 58
打印 上一主题 下一主题

[讨论] PE自适应高分屏显示DPI缩放相关三个小工具

  [复制链接]
跳转到指定楼层
#
发表于 2022-4-1 01:09:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 lhc0688 于 2022-4-2 10:13 编辑

PE启动后自适应高分屏显示缩放方面问题,好像一直没有看到好的解决办法,网上找了三个DPI方面的小工具,发上来供参考,看能否有好的解决思路:

1、DPI缩放检测工具(含源码),实测可以准确检测出原始DPI及缩放比例:
DPI检测.rar (637.07 KB, 下载次数: 141)

2、
设置系统DPI,实测有效
SetDpi.rar (10.11 KB, 下载次数: 161)

3、根据屏幕显示分辨率自动设置DPI缩放,实测有效:

根据分辨率自动设置DPI.rar (348.7 KB, 下载次数: 215)

------------------------------------------------------
以上三个DPI方面的 小工具,说明检测、设置应该都能实现,这样的话,是否可以不依赖外部工具,仅用代码来完成分辨率数据检测、并自动设置显示缩放呢?希望坛里的高手能不吝赐教下。

相应的几个常见分辨率值跟建议缩放倍数:

>=3840  200%
>=2560  175%
>=1920  150%
>=1600 125%
1600 以下默认100%
-------------------------------------------------------
另外:如果PE中保留Windows原始屏幕设置功能,是否可行?

以上想法,供参考讨论。






47#
发表于 2024-1-8 20:55:32 | 只看该作者
感谢分享
回复

使用道具 举报

46#
发表于 2023-12-31 20:34:17 | 只看该作者
感谢分享!!!
回复

使用道具 举报

45#
发表于 2023-11-9 18:12:16 | 只看该作者
谢谢分享
回复

使用道具 举报

44#
发表于 2023-10-26 10:59:15 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

43#
发表于 2023-4-20 13:12:59 | 只看该作者

感谢分享!!!
回复

使用道具 举报

42#
发表于 2023-4-12 09:34:25 | 只看该作者
这个软件设置开机启动能行不
回复

使用道具 举报

41#
发表于 2023-1-14 12:05:49 | 只看该作者
一款显示DPI缩放的小工具,看看性能如何啊
回复

使用道具 举报

40#
发表于 2023-1-7 15:17:51 | 只看该作者
感谢分享,试下行不行
回复

使用道具 举报

39#
 楼主| 发表于 2022-5-30 13:22:00 | 只看该作者
Bluebells 发表于 2022-4-29 09:40
159(0x009F) 是 uiAction 参数 SPI_SETLOGICALDPIOVERRIDE, 其后一位参数才是缩放值
0 是推荐缩放值(125 ...

这个设置规则好像不是我写的,我后来是建议按高计算,即:720、1080、2160...,4k是按200%,8K按300%;
不过后面高手们有进一步探讨,采用更专业的规则和技术实现方式,可到另一个帖子详细了解:
http://bbs.wuyou.net/forum.php?m ... p;page=9#pid4578596
回复

使用道具 举报

38#
发表于 2022-5-30 13:11:31 | 只看该作者

垂直分辨率2160是4k高清,一般笔记本推荐的DPI是250%!2k高清(1920*1080)推荐125%!台式机可根据屏幕尺寸适当调整!我是说楼主提供的 “根据分辨率自动设置DPI.exe” 的调整规则不合常规!
回复

使用道具 举报

37#
发表于 2022-5-30 12:08:36 | 只看该作者
shcheng 发表于 2022-5-30 11:25
4k高清(3840*2160)的垂直分辨率2160,楼主在“根据分辨率自动设置DPI.rar”给出的规则是 垂直分辨率        缩放 ...

推荐DPI<=分辨率高/600/1.5
即:
推荐DPI<=2160/600/1.5
推荐DPI<=200%

点评

垂直分辨率2160是4k高清,一般笔记本推荐的DPI是250%!2k高清(1920*1080)推荐125%!台式机可根据屏幕尺寸适当调整!我是说楼主提供的 “根据分辨率自动设置DPI.exe” 的调整规则不合常规!  详情 回复 发表于 2022-5-30 13:11
回复

使用道具 举报

36#
发表于 2022-5-30 12:02:26 | 只看该作者
个人觉得手动设置DPI还是不可少的,因为实际使用环境,有的是笔记本,有的是台式机,1920*1080,在台机式上1:1的就可以,而在笔记本上就不一定行了,且有的人跟别人的需求不一定相同,比如视力不好的,就需要调大一些
回复

使用道具 举报

35#
发表于 2022-5-30 11:25:23 | 只看该作者
本帖最后由 shcheng 于 2022-5-30 11:37 编辑

4k高清(3840*2160)的垂直分辨率2160,楼主在“根据分辨率自动设置DPI.rar”给出的规则是 垂直分辨率        缩放
<1049                默认
1050-1399        100%
1400-1999        100%
2000-3999        125%
>4000        300%

也就是说4k高清才放大到125%,其他情况都是100%,就是基本补齐作用啊!是规则有问题!

点评

推荐DPI  详情 回复 发表于 2022-5-30 12:08
回复

使用道具 举报

34#
发表于 2022-4-29 10:07:58 | 只看该作者
Bluebells 发表于 2022-4-29 09:40
159(0x009F) 是 uiAction 参数 SPI_SETLOGICALDPIOVERRIDE, 其后一位参数才是缩放值
0 是推荐缩放值(125 ...

好的,感谢解惑
回复

使用道具 举报

33#
发表于 2022-4-29 09:40:53 | 只看该作者
826773297 发表于 2022-4-28 12:22
请问这个159是怎么算的,实际设置是150
如果要设置100或者125/200呢

159(0x009F) 是 uiAction 参数 SPI_SETLOGICALDPIOVERRIDE, 其后一位参数才是缩放值
0 是推荐缩放值(125%), 每次步进缩放值为 25%, 因此 100% 是 -1, 150% 则是 1, 那么 200% 应该是 3
PS: 上述内容参考网上搜索到的结果, 未进行过实际测试

点评

这个设置规则好像不是我写的,我后来是建议按高计算,即:720、1080、2160...,4k是按200%,8K按300%; 不过后面高手们有进一步探讨,采用更专业的规则和技术实现方式,可到另一个帖子详细了解: http://bbs.wuyou  详情 回复 发表于 2022-5-30 13:22
好的,感谢解惑  详情 回复 发表于 2022-4-29 10:07
回复

使用道具 举报

32#
发表于 2022-4-28 12:41:44 | 只看该作者
826773297 发表于 2022-4-28 12:22
请问这个159是怎么算的,实际设置是150
如果要设置100或者125/200呢

这个代码不是150,是放大一级。具体可去微软看这个API。
回复

使用道具 举报

31#
发表于 2022-4-28 12:22:45 | 只看该作者
szwp 发表于 2022-4-1 12:57
CALL $--qd# user32.dll,SystemParametersInfoW,159,1,0,1

楼主项目换得快的,当前系统安装pe还在搞么 ...

请问这个159是怎么算的,实际设置是150
如果要设置100或者125/200呢

点评

159(0x009F) 是 uiAction 参数 SPI_SETLOGICALDPIOVERRIDE, 其后一位参数才是缩放值 0 是推荐缩放值(125%), 每次步进缩放值为 25%, 因此 100% 是 -1, 150% 则是 1, 那么 200% 应该是 3 PS: 上述内容参考网上搜索到  详情 回复 发表于 2022-4-29 09:40
这个代码不是150,是放大一级。具体可去微软看这个API。  详情 回复 发表于 2022-4-28 12:41
回复

使用道具 举报

30#
发表于 2022-4-3 13:19:30 | 只看该作者
楼主真棒加油!我刚好需要这个
回复

使用道具 举报

29#
发表于 2022-4-3 09:20:24 | 只看该作者
@lhc0688
我有一个疑问:这东西能直接缩放目标程序吗?
我开发的Delphi程序有缩放问题。。。
后来过了很久,我找到了解决问题的源代码
回复

使用道具 举报

28#
发表于 2022-4-2 18:19:54 | 只看该作者
slore 发表于 2022-4-1 15:27
有WinXShell,直接打开WinXShell.lua,里面有根据分辨率调整DPI的函数,默认无效,把函数名改下就好了。

WinXShell比这几个好用多了
回复

使用道具 举报

27#
发表于 2022-4-2 14:49:41 | 只看该作者
szwp 发表于 2022-4-2 10:50
不考虑显示器大小就是瞎扯了。pecmd实现比批处理方便,不需要第三方工具。

CALL用的就是PECMD啊。批处理做不了。
回复

使用道具 举报

26#
发表于 2022-4-2 11:55:25 | 只看该作者
感谢分享!!!
回复

使用道具 举报

25#
发表于 2022-4-2 10:50:56 | 只看该作者
不考虑显示器大小就是瞎扯了。pecmd实现比批处理方便,不需要第三方工具。

点评

CALL用的就是PECMD啊。批处理做不了。  详情 回复 发表于 2022-4-2 14:49
问题是PECMD实现不了啊,设置后没任何反应,还真没遇到PECMD分辨率设置有作用的PE。  发表于 2022-4-2 14:43
回复

使用道具 举报

24#
发表于 2022-4-2 10:34:39 | 只看该作者
放大因素不是由分辨率唯一决定的,显示器大小,视力,离显示器(电视机 投影仪)的距离都有关系。俺老花,需要比常人放大一级或二级,所以搞了个快捷方式在桌面。

点评

这应该也是一种需求:一方面PE启动能自动设置;进入桌面后使用者可以根据需要手动设置;这样应该是最完美的解决方式,只是不懂批处理代码应该怎么写。  发表于 2022-4-2 10:39
回复

使用道具 举报

23#
 楼主| 发表于 2022-4-2 10:11:28 | 只看该作者
发现通过 WinXShell.exe ms-settings:display 调用方式修改PE显示缩放比例,会出现一个问题:

修改后,如果多次刷新explorer,桌面图标会显示不正常,间距会变很大,图标大小也会出现异常;
回复

使用道具 举报

22#
发表于 2022-4-2 08:15:03 | 只看该作者
本帖最后由 szwp 于 2022-4-2 08:17 编辑
lhc0688 发表于 2022-4-1 17:27
都是名副其实的大佬级高手,有这么多好方法,不指点还真不知道,太感谢了!

既然有可以自动识别的功能 ...

方法太多了,别放弃搞BCD WIMPE。BCDEDIT和BCDBOOT都能自动识别引导区。
回复

使用道具 举报

21#
发表于 2022-4-2 08:13:05 | 只看该作者
在TEAM DISP 命令经常会无效的情况下试。
回复

使用道具 举报

20#
发表于 2022-4-1 22:06:48 | 只看该作者
用noMeiryoUI调整字体大小,方便!!!
回复

使用道具 举报

19#
 楼主| 发表于 2022-4-1 20:50:15 | 只看该作者
本帖最后由 lhc0688 于 2022-4-1 21:01 编辑

还发现一个问题:右键【屏幕设置】(调用的是 WinXShell.exe ms-settings:display),现象:

如果初始屏幕默认是100%,如果【屏幕设置】调整为125%,则会设为150%,再重复缩小为125%才会有效;

--------------
试了下,这个现象是由WinXShell.lua里面ondisplaychanged()函数引起的,恢复回去就正常了,说明函数确实已被调用过,PECMD.ini里面有
EXEC "%ProgramFiles%\WinXShell\WinXShell.exe" -ui -jcfg wxsUI\UI_WIFI\main.jcfg -hidewindow
EXEC "%ProgramFiles%\WinXShell\WinXShell.exe" -daemon
-------------------

回复

使用道具 举报

18#
 楼主| 发表于 2022-4-1 20:33:59 | 只看该作者
函数修改成直接执行,也没反应,是不是函数没调用?
function ondisplaychanged()
  local cur_res_x = Screen:GetX()
  if last_res_x == cur_res_x then return end
  last_res_x = cur_res_x
  if last_res_x >= 3840 then
    Screen:DPI(150)
  elseif last_res_x >= 1440 then
    Screen:DPI(125)
  elseif last_res_x >= 800 then
    Screen:DPI(100)
  end
Screen:DPI(150)
end
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 21:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表