找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: lhc0688

[已解决] 只差一步:解决PE中DPI显示缩放难题!

   火... [复制链接]
发表于 2022-5-22 20:49:55 | 显示全部楼层
527104427 发表于 2022-5-22 20:01
跟踪了一下注册表,发现端倪,真的有对应的位置!

条件有限,只在自己的机器上试了,没装显卡驱动,好用。
建议每次改变分辨率后把桌面刷新一下。要不图标都是乱的。
回复

使用道具 举报

发表于 2022-5-22 22:50:16 来自手机 | 显示全部楼层
527104427 发表于 2022-5-22 20:01
跟踪了一下注册表,发现端倪,真的有对应的位置!



和显示器有关,你弄一个27寸4k屏试试就知道了
回复

使用道具 举报

发表于 2022-5-23 08:14:29 | 显示全部楼层
826773297 发表于 2022-5-22 18:28
这不是差一步,这是差很多步

路越走越宽,小目标慢慢变成大目标。

https://github.com/lihas/windows-DPI-scaling-sample

这个软件可试下,里面有个列表显示当前支持哪几种DPI,看看是否正确。开源的,可套用到pecmd,俺pecmd基础差一时补不了,只能看你们玩。

点评

说得好  详情 回复 发表于 2022-5-23 10:19
5大写代码,我们抄作业  详情 回复 发表于 2022-5-23 09:53
回复

使用道具 举报

发表于 2022-5-23 08:18:42 | 显示全部楼层
527104427 发表于 2022-5-23 07:32
根据红毛的提示,作进一步处理:当设置的dpi大于显示器ppi时,使用改注册表+注销方式,否则用SystemPar ...

上面链接可看下,获取当前支持的DPI
回复

使用道具 举报

发表于 2022-5-23 09:53:11 | 显示全部楼层
szwp 发表于 2022-5-23 08:14
路越走越宽,小目标慢慢变成大目标。

https://github.com/lihas/windows-DPI-scaling-sample

5大写代码,我们抄作业

点评

我也准备抄作业了  详情 回复 发表于 2022-5-23 10:20
俺懒得抄,直接用。  详情 回复 发表于 2022-5-23 09:58
回复

使用道具 举报

发表于 2022-5-23 09:58:58 | 显示全部楼层
hhh333 发表于 2022-5-23 09:53
5大写代码,我们抄作业

俺懒得抄,直接用。
回复

使用道具 举报

发表于 2022-5-23 10:06:48 | 显示全部楼层
527104427 发表于 2022-5-23 07:32
根据红毛的提示,作进一步处理:当设置的dpi大于显示器ppi时,使用改注册表+注销方式,否则用SystemPar ...

find *=dpi,这个是代表dpi为空吧,没这么用过,常规的是find $%dpi%=,  请问这两种用法有区别吗?
回复

使用道具 举报

发表于 2022-5-23 10:19:42 | 显示全部楼层
szwp 发表于 2022-5-23 08:14
路越走越宽,小目标慢慢变成大目标。

https://github.com/lihas/windows-DPI-scaling-sample

说得好
回复

使用道具 举报

发表于 2022-5-23 10:20:04 | 显示全部楼层
527104427 发表于 2022-5-23 07:32
根据红毛的提示,作进一步处理:当设置的dpi大于显示器ppi时,使用改注册表+注销方式,否则用SystemPar ...

请开始你的表演
回复

使用道具 举报

发表于 2022-5-23 10:20:31 | 显示全部楼层
hhh333 发表于 2022-5-23 09:53
5大写代码,我们抄作业

我也准备抄作业了
回复

使用道具 举报

发表于 2022-5-23 10:56:44 | 显示全部楼层
我靠,这么大,屏幕装不下了
dpi11-300.PNG

这是在PE中实现效果,确实可以到300,确实需要注销才行。我是这样的:先进PE,注册菜单项,在system下shutdown /L(或PECMD SHUT L)无效,再切换到admin,再到300%,等待一会出桌面确实有300%的效果。
回复

使用道具 举报

发表于 2022-5-23 11:07:30 | 显示全部楼层
不知道7/8/8.1中是不是有效。正常系统改变也是需要注销的
回复

使用道具 举报

发表于 2022-5-23 11:24:29 | 显示全部楼层
在正常的win7系统中进行了测试,证明两点:
1、改注册表再注销方式继续有效。因此可以说这种方式对所有的NT6系统都有效;
2、win10以下系统175%以内倍数,用user32.dll,SystemParametersInfoW,159,号功能没作用,必须要注销才有效。
w7dpi300.png
回复

使用道具 举报

发表于 2022-5-23 12:32:54 | 显示全部楼层
本帖最后由 2011whp 于 2022-5-24 19:20 编辑

dpi放大原理.jpg


win11 要求1024屏:即1024/96*2.54=27厘米,

据试验:ppi屏幕 不能小于 10英寸,即 25.4厘米
回复

使用道具 举报

发表于 2022-5-23 12:39:09 | 显示全部楼层
本帖最后由 hhh333 于 2022-5-23 19:52 编辑
527104427 发表于 2022-5-23 11:41
哇,看来可以放宽限制了

参考你的改了下,win7以上系统都可用: setdpi.7z (2.9 KB, 下载次数: 36)
回复

使用道具 举报

发表于 2022-5-23 19:51:06 | 显示全部楼层
注销方式在8/8.1PE中没有问题,有些PE不支持进行注销操作,肯定就不能使用了。
Win8PE中:
w8dpi200.PNG

Win8.1PE中
w81dpi250.PNG

Win8.1PE磁贴中没变
w81dpi250-2.PNG

回复

使用道具 举报

发表于 2022-5-23 20:44:17 | 显示全部楼层

想请教一个问题:
call $--qd# user32.dll,SystemParametersInfoW,159,%dpix%,0,1 
1、这个有不有返回值?
2、如果有,需要注销才生效或直接生效的返回值有不有不同
回复

使用道具 举报

发表于 2022-5-23 22:36:29 | 显示全部楼层
本帖最后由 hhh333 于 2022-5-23 22:56 编辑
527104427 发表于 2022-5-23 20:52
call $--qd#   --ret:xxx   user32.dll,SystemParametersInfoW,159,%dpix%,0,1
mess.  [%xxx%]
这样应 ...

已经测试,返回值没区别
Win10以上返回值都是1
win10以下,似乎100-125%返回1,其他均返回0
回复

使用道具 举报

发表于 2022-5-23 23:38:38 | 显示全部楼层
本帖最后由 hhh333 于 2022-5-23 23:41 编辑

进一步理清逻辑关系: setdpi.7z (3.02 KB, 下载次数: 25)  为方便理解加了一些说明和注释。
经验证在Win7/8/8.1/10/11的PE系统中均有效,但要在支持切换到Administrator功能的PE才可用。
回复

使用道具 举报

发表于 2022-5-24 07:35:48 | 显示全部楼层

好,我再学习一下
回复

使用道具 举报

发表于 2022-5-24 08:14:05 | 显示全部楼层
链接里有说切换分辨率来生效,前提能找到另一种分辨率切换过去,再切换回来。

点评

意思是不用注销?  详情 回复 发表于 2022-5-24 09:48
回复

使用道具 举报

发表于 2022-5-24 09:48:22 | 显示全部楼层
szwp 发表于 2022-5-24 08:14
链接里有说切换分辨率来生效,前提能找到另一种分辨率切换过去,再切换回来。

意思是不用注销?

点评

一个像素可以含多个点。第一个链接里有写改变分辨率生效,俺没试过,点只看该作者看看。  详情 回复 发表于 2022-5-24 10:03
回复

使用道具 举报

发表于 2022-5-24 10:03:06 | 显示全部楼层
hhh333 发表于 2022-5-24 09:48
意思是不用注销?

一个像素可以含多个点。第一个链接里有写改变分辨率生效,俺没试过,点只看该作者看看。

点评

经测试,函数不能直接改不生效时,再改分辨率也不生效,非得改注册表再注销是才行  详情 回复 发表于 2022-5-24 10:16
回复

使用道具 举报

发表于 2022-5-24 10:16:51 | 显示全部楼层
szwp 发表于 2022-5-24 10:03
一个像素可以含多个点。第一个链接里有写改变分辨率生效,俺没试过,点只看该作者看看。

经测试,函数不能直接改不生效时,再改分辨率也不生效,非得改注册表再注销是才行
回复

使用道具 举报

发表于 2022-5-24 19:02:09 | 显示全部楼层
本帖最后由 hhh333 于 2022-5-24 19:03 编辑
527104427 发表于 2022-5-24 11:38
我发现你把/reg改没了,只能/reg+数字。改回去了。
另外,卸载也弹出提示,应该没必要,直接给过了。

...

是的,改后逻辑性更好了。
在两台电脑上经过测试,其中一台的最大分辨率可以达到1920X1080,能够直接更改的最大值为175%;另一台的最大分辨率为1440X900,最大只能缩放到150%,超过以上倍数函数会自动按能够支持最大倍数进行设置,因此没必要回退到原分辨率;
我也加了点料,在system用户下当前实际分辨率可以反映到菜单中: setdpi.7z (3.65 KB, 下载次数: 29)

点评

怎么判断,不能超过350%的, [attachimg]501880[/attachimg]  详情 回复 发表于 2022-5-24 22:48
回复

使用道具 举报

发表于 2022-5-24 19:58:50 来自手机 | 显示全部楼层
精简版的win7/8pe咋个注销法?几年前就想注销,一直没找到方法

点评

只要支持切换到admin,切换以后就可以直接注销。但在system注销无效  详情 回复 发表于 2022-5-24 21:35
回复

使用道具 举报

发表于 2022-5-24 20:38:15 | 显示全部楼层
本帖最后由 2011whp 于 2022-5-24 20:53 编辑

假定 win的最小 ppi屏表现是 25.4(10英寸)
假定系统dpi是96(台式机全是)
假定最大分辨宽度为:L
假定最大放大倍数为:x

则:最大放大倍数为:L/96/x*2.54>2.54*10
         即:x<L/960
         例:1.75 < 1920/960=2
            或 1.5 < 1440/960=1.5

看着不 怎么符合hhh333说法:可能是个分段 函数?
——————————————————————
也可能 是最大分辨率的高度限定?假定高度最小为 为6英寸
                 1.75 < 1080/96/6=1.875
                 1.5 <  960/96/6=1.67
这么看着,凑合,符合hhh333说法

如果 真有规律,没必要加那么多 放大等级。

点评

应该是有规律的  详情 回复 发表于 2022-5-24 21:34
回复

使用道具 举报

发表于 2022-5-24 21:22:26 | 显示全部楼层
527104427 发表于 2022-5-24 19:30
有几个问题不得不提一下:

1、13是没错,是菜单总数,对应的档位是12档,加上自动是13档,前面进行了-1操作,所以后面你写12是对的,我那个不对
2、MESS=有这功效?真不知道,好看多了
3、可不可以exit file
回复

使用道具 举报

发表于 2022-5-24 21:34:13 | 显示全部楼层
2011whp 发表于 2022-5-24 20:38
假定 win的最小 ppi屏表现是 25.4(10英寸)
假定系统dpi是96(台式机全是)
假定最大分辨宽度为:L

应该是有规律的
回复

使用道具 举报

发表于 2022-5-24 21:35:35 | 显示全部楼层
红毛樱木 发表于 2022-5-24 19:58
精简版的win7/8pe咋个注销法?几年前就想注销,一直没找到方法

只要支持切换到admin,切换以后就可以直接注销。但在system注销无效
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-20 14:04

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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