无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: lhc0688
打印 上一主题 下一主题

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

    [复制链接]
151#
发表于 2022-5-20 23:44:40 | 只看该作者
527104427 发表于 2022-5-20 20:08
用126#的试试,支持的系统才会出右键

另外,完美一点就是让当前选定的选项显示一个选定的图标,其他不显示。希望能完美一下。我自己对PECMD不熟,还在学习消化你的代码。

点评

改好了,不过,发现这种方法有局限性,顶多只能设置到175%,再大就只能手动设置了(设置后还要注销才生效)  详情 回复 发表于 2022-5-21 20:34
用注册表实现窗口程序的功能,这不太现实吧,反正我是不会,不知道从哪里找参考。  详情 回复 发表于 2022-5-21 08:02
回复

使用道具 举报

152#
发表于 2022-5-21 23:13:00 | 只看该作者
527104427 发表于 2022-5-21 20:34
改好了,不过,发现这种方法有局限性,顶多只能设置到175%,再大就只能手动设置了(设置后还要注销 ...

白天在外面,晚上回来没看你的回复,就按我自己的思路做了一个: setdpi.7z (2.07 KB, 下载次数: 10)
看到你也做了一个,我再参考你这个学习一下。
晚上一直在调试,确实,再往上放大就不起作用了。
回复

使用道具 举报

153#
发表于 2022-5-22 08:25:00 | 只看该作者
本帖最后由 hhh333 于 2022-5-22 09:19 编辑
527104427 发表于 2022-5-21 20:34
改好了,不过,发现这种方法有局限性,顶多只能设置到175%,再大就只能手动设置了(设置后还要注销 ...

参考你的程序,按我的想法做好了: setdpi.7z (2.45 KB, 下载次数: 24)
1、改变以91代替方式,直接不足两位在前面补0的方式,更好理解,显示顺序也不会乱;
2、选定进行过的设定都会有图标标志(自动也不例外);
3、因为上述1的逻辑,设定图标直接按顺序对应方式,不再采用读command再提取DPI的方式;
4、采用你的第一次注册顺便标注当前DPI的方式;

学习了REGI的使用方式等等。还有好多不大懂,还在消化。你和红毛等玩PECMD太高深了,好多语句看不懂。
效果大致如下:


点评

[attachimg]501751[/attachimg] 发现规律了,设置175%以上时,不管设置的多少,最后都是这个框里的结果。 如果能通过注册表改这里的值就完美了。  详情 回复 发表于 2022-5-22 12:11
我发现,设置175%以上注销可以生效,但也只能到250%,再往上注销也无效。 设置完后加一句试试: ifex $%dpi%>175, shut L  详情 回复 发表于 2022-5-22 11:21
回复

使用道具 举报

154#
发表于 2022-5-22 12:21:26 | 只看该作者
527104427 发表于 2022-5-22 12:11
发现规律了,设置175%以上时,不管设置的多少,最后都是这个框里的结果。
如果能通过注册表改这里的 ...

和显示器有关,有一定范围。
显示器有个PPI值,和PPI相差太大就会恢复成“最大值”。暂时这个最大值 不知道什么方法获取,应该可以通过计算获得

点评

意思: 1、显示器有一个最大的PPI,超过这个都按这个执行; 2、各显示器的最大PPI可能会有不同;  详情 回复 发表于 2022-5-22 13:10
回复

使用道具 举报

155#
发表于 2022-5-22 13:10:34 | 只看该作者
红毛樱木 发表于 2022-5-22 12:21
和显示器有关,有一定范围。
显示器有个PPI值,和PPI相差太大就会恢复成“最大值”。暂时这个最大值 不 ...

意思:
1、显示器有一个最大的PPI,超过这个都按这个执行;
2、各显示器的最大PPI可能会有不同;

点评

Windows系统里的是DPI。 显示器参数里的是PPI,是不变的。 看下面我很早之前的研究资料,也许能有帮助,不过当时技术有限解析的还不够透彻 https://www.sysceo.com/forum/thread-44479-1-1.html  详情 回复 发表于 2022-5-22 13:15
回复

使用道具 举报

156#
发表于 2022-5-22 13:15:41 | 只看该作者
hhh333 发表于 2022-5-22 13:10
意思:
1、显示器有一个最大的PPI,超过这个都按这个执行;
2、各显示器的最大PPI可能会有不同;

Windows系统里的是DPI。
显示器参数里的是PPI,是不变的。
看下面我很早之前的研究资料,也许能有帮助,不过当时技术有限解析的还不够透彻
https://www.sysceo.com/forum/thread-44479-1-1.html

点评

看懂了一点点,如果显示器的尺寸越大,在相同物理面积上显示的点就越多,也即PPI就更大,缩放的空间就更大。 那么是不是可以说,可以根据最大的显示尺寸来设定最大的缩放倍数?  详情 回复 发表于 2022-5-22 13:27
回复

使用道具 举报

157#
发表于 2022-5-22 13:27:01 | 只看该作者
红毛樱木 发表于 2022-5-22 13:15
Windows系统里的是DPI。
显示器参数里的是PPI,是不变的。
看下面我很早之前的研究资料,也许能有帮助 ...

看懂了一点点,如果显示器的尺寸越大,在相同物理面积上显示的点就越多,也即PPI就更大,缩放的空间就更大。
那么是不是可以说,可以根据最大的显示尺寸来设定最大的缩放倍数?

点评

PPI是计算的,不单单显示器尺寸越大PPI就越大,还要看分辨率。  详情 回复 发表于 2022-5-22 13:55
回复

使用道具 举报

158#
发表于 2022-5-22 13:48:55 | 只看该作者
PPI是单位长度(每英吋)的像素值,DPI是单位长度(每英吋)的点数,似乎没啥子区别。越高越能够显示细节,也越经得起放大。

点评

跟踪了一下注册表,发现端倪,真的有对应的位置!  详情 回复 发表于 2022-5-22 20:01
回复

使用道具 举报

159#
发表于 2022-5-22 13:55:42 | 只看该作者
hhh333 发表于 2022-5-22 13:27
看懂了一点点,如果显示器的尺寸越大,在相同物理面积上显示的点就越多,也即PPI就更大,缩放的空间就更 ...

PPI是计算的,不单单显示器尺寸越大PPI就越大,还要看分辨率。

点评

已经超出了我的理解能力,投降  详情 回复 发表于 2022-5-22 15:22
回复

使用道具 举报

160#
发表于 2022-5-22 15:35:33 | 只看该作者
527104427 发表于 2022-5-22 15:22
已经超出了我的理解能力,投降

只差一步,坚持一下就行了。

点评

这不是差一步,这是差很多步  详情 回复 发表于 2022-5-22 18:28
哈哈哈,你又把对付楼主那一套用出来了  详情 回复 发表于 2022-5-22 17:29
回复

使用道具 举报

161#
发表于 2022-5-22 17:38:22 | 只看该作者
本帖最后由 2011whp 于 2022-5-24 19:39 编辑

我现在这么理解dpi放大:


假如:window限定 : 虚拟的 厘米 数 小到  25.4时,连 资源管理器,也没法布局了,
          所以,干脆不放大,用显示器的ppi

点评

问题关键在于不是所有PE都能正确获取显示器大小  详情 回复 发表于 2022-5-22 18:26
回复

使用道具 举报

162#
发表于 2022-5-22 18:26:57 | 只看该作者
2011whp 发表于 2022-5-22 17:38
我现在这么理解dpi放大:

问题关键在于不是所有PE都能正确获取显示器大小
回复

使用道具 举报

163#
发表于 2022-5-22 18:28:50 | 只看该作者
szwp 发表于 2022-5-22 15:35
只差一步,坚持一下就行了。

这不是差一步,这是差很多步

点评

路越走越宽,小目标慢慢变成大目标。 https://github.com/lihas/windows-DPI-scaling-sample 这个软件可试下,里面有个列表显示当前支持哪几种DPI,看看是否正确。开源的,可套用到pecmd,俺pecmd基础差一时补  详情 回复 发表于 2022-5-23 08:14
回复

使用道具 举报

164#
发表于 2022-5-22 18:50:10 来自手机 | 只看该作者
527104427 发表于 2022-5-22 15:22
已经超出了我的理解能力,投降

其实不用管,新系统/pe能识别显示器参数后会自动拉伸的
回复

使用道具 举报

165#
发表于 2022-5-22 20:11:32 | 只看该作者
527104427 发表于 2022-5-22 20:01
跟踪了一下注册表,发现端倪,真的有对应的位置!

获取离线系统dpi,应用到PE
回复

使用道具 举报

166#
发表于 2022-5-22 20:49:55 | 只看该作者
527104427 发表于 2022-5-22 20:01
跟踪了一下注册表,发现端倪,真的有对应的位置!

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

点评

有的 [attachimg]501780[/attachimg]  详情 回复 发表于 2022-5-22 20:57
回复

使用道具 举报

167#
发表于 2022-5-22 22:50:16 来自手机 | 只看该作者
527104427 发表于 2022-5-22 20:01
跟踪了一下注册表,发现端倪,真的有对应的位置!



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

使用道具 举报

168#
发表于 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
回复

使用道具 举报

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

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

点评

好的,学习下  详情 回复 发表于 2022-5-23 11:38
回复

使用道具 举报

170#
发表于 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
回复

使用道具 举报

171#
发表于 2022-5-23 09:58:58 | 只看该作者
hhh333 发表于 2022-5-23 09:53
5大写代码,我们抄作业

俺懒得抄,直接用。
回复

使用道具 举报

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

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

点评

是跟 find $%dpi%= 一样。 我习惯用 find *=dpi,判断多个条件的时候比较好用,比如 find [ ..... ] 这种情况  详情 回复 发表于 2022-5-23 11:41
回复

使用道具 举报

173#
发表于 2022-5-23 10:19:42 | 只看该作者
szwp 发表于 2022-5-23 08:14
路越走越宽,小目标慢慢变成大目标。

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

说得好
回复

使用道具 举报

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

请开始你的表演
回复

使用道具 举报

175#
发表于 2022-5-23 10:20:31 | 只看该作者
hhh333 发表于 2022-5-23 09:53
5大写代码,我们抄作业

我也准备抄作业了
回复

使用道具 举报

176#
发表于 2022-5-23 10:56:44 | 只看该作者
我靠,这么大,屏幕装不下了


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

使用道具 举报

177#
发表于 2022-5-23 11:07:30 | 只看该作者
不知道7/8/8.1中是不是有效。正常系统改变也是需要注销的
回复

使用道具 举报

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

点评

哇,看来可以放宽限制了  详情 回复 发表于 2022-5-23 11:41
回复

使用道具 举报

179#
发表于 2022-5-23 12:32:54 | 只看该作者
本帖最后由 2011whp 于 2022-5-24 19:20 编辑




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

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

使用道具 举报

180#
发表于 2022-5-23 12:39:09 | 只看该作者
本帖最后由 hhh333 于 2022-5-23 19:52 编辑
527104427 发表于 2022-5-23 11:41
哇,看来可以放宽限制了

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

点评

好!  详情 回复 发表于 2022-5-23 12:55
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-19 21:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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