无忧启动论坛

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

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

    [复制链接]
发表于 2022-5-1 19:55:53 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2022-5-1 23:53:23 | 显示全部楼层
527104427 发表于 2022-5-1 23:42
其实你可以自己改的,不过我也改了其它地方:右键增加到16个,缩放比如果跟当前相同,就不再设置,免得 ...

缩放比如果跟当前相同,就不再设置,免得点一下闪一下,难受
------------------------
这个非常好!之前我一直有这样想法,但自己搞不出获取当前缩放值的代码,只能想想而已。

还有一点应该不太有意义的问题,就是右键菜单显示的位置,感觉还不够完美,不知注册表要怎样写,能搞成【在粘贴、粘贴快捷方式】下面,并带分界线(好像就是单独分组的意思)。

点评

1. 上下文菜单分隔线的添加, 使用注册表项值 SeparatorBefore 和 SeparatorAfter, 其数据类型为 REG_DWORD, 数据为任意值, 建议使用 1 2. 关于 Explorer 的刷新, 可以尝试使用 ENVI @@DeskTopFresh=1, 舍弃 Kill Ex  详情 回复 发表于 2022-5-2 15:33
获取用158,上面有不少举例了。  详情 回复 发表于 2022-5-2 10:03
我这是在最后面啊 [attachimg]500662[/attachimg]  详情 回复 发表于 2022-5-2 10:03
回复

使用道具 举报

发表于 2022-5-2 10:03:18 | 显示全部楼层
lhc0688 发表于 2022-5-1 23:53
缩放比如果跟当前相同,就不再设置,免得点一下闪一下,难受
------------------------
这个非常好!之 ...

获取用158,上面有不少举例了。

点评

不挂载直接读写esp的技术,上次我大概能明白一些您的点误,等身边事情安生下来,静心请教把它完善下;  发表于 2022-5-2 15:49
那个之前大概搞的差不多也能用,就先放下了;这几天有些事情搞的很心烦,等过段时间清净下来,好好跟您再请教学习一下。  发表于 2022-5-2 15:15
不放弃就会成功,将wim塞esp不需要挂载,也不需要判断引导模式,继续努力。  发表于 2022-5-2 15:04
非常感谢szwp老师,您一行留言道破天机,让我们这些业余爱好者也有了学习的机会,由衷的感谢!能有机会跟您学知识是莫大的荣幸。  发表于 2022-5-2 14:52
回复

使用道具 举报

发表于 2022-5-2 10:34:25 | 显示全部楼层
527104427 发表于 2022-5-1 23:42
其实你可以自己改的,不过我也改了其它地方:右键增加到16个,缩放比如果跟当前相同,就不再设置,免得 ...

楼主没看懂怎么运行呢
回复

使用道具 举报

发表于 2022-5-2 10:46:23 | 显示全部楼层
527104427 发表于 2022-5-1 23:42
其实你可以自己改的,不过我也改了其它地方:右键增加到16个,缩放比如果跟当前相同,就不再设置,免得 ...
  1. ifex $%dpi%>250, set num=50! set num=25
  2. calc #dpix=(%dpi%-100)/%num%+%vParam%
复制代码


这个计算逻辑错了,应该是

  1. ifex $%dpi%>250, calc #dpix=(%dpi%-250)/50+(250-100)/25+%vParam%! calc #dpix=(%dpi%-100)/25+%vParam%
复制代码

点评

果然,还是你厉害!  详情 回复 发表于 2022-5-2 11:34
回复

使用道具 举报

 楼主| 发表于 2022-5-2 14:45:35 | 显示全部楼层
527104427 发表于 2022-5-2 11:34
果然,还是你厉害!
顺便右键菜单加了个图标

好的,谢谢楼上各位的代码,我估计得花点时间学习研究下,折腾用不是目的,能学习才是最大收获。
回复

使用道具 举报

 楼主| 发表于 2022-5-2 15:09:52 | 显示全部楼层
527104427 发表于 2022-5-2 11:34
果然,还是你厉害!
顺便右键菜单加了个图标

微软win10设置显示缩放可以根据显示分辨率情况,屏蔽不支持的选项;WinXShell命令打开的显示设置也可以;这个是否也可以加如判断达到这样效果呢?这样就避免菜单选项太多反倒不美观,也避免出现执行无效情况。

点评

我觉得可以直接从 159,0,0,1 来往两边分,不用写具体的缩放值。因为这个就是系统推荐的缩放比例。 推荐值放大或缩小2个等级应该就够用了,再大也大不了,再小也无意义。 我现在准备这样改,子菜单就很简洁了。  详情 回复 发表于 2022-5-2 18:46
90楼红毛大佬的代码应该就是判断缩放范围的,但怎么搞出成品就一窍不通了  详情 回复 发表于 2022-5-2 15:57
回复

使用道具 举报

发表于 2022-5-2 15:33:00 | 显示全部楼层
本帖最后由 Bluebells 于 2022-5-2 15:34 编辑
lhc0688 发表于 2022-5-1 23:53
缩放比如果跟当前相同,就不再设置,免得点一下闪一下,难受
------------------------
这个非常好!之 ...

1. 上下文菜单分隔线的添加, 使用注册表项值 SeparatorBefore 或 SeparatorAfter, 其数据类型为 REG_DWORD, 数据为任意值, 建议使用 1
20220502153120.png
2. 关于 Explorer 的刷新, 可以尝试使用 ENVI @@DeskTopFresh=1, 舍弃 Kill Explorer

点评

根据Bluebells朋友的指点,确实解决了选项分组线的问题。但又遇到新问题,选项的位置总是不能按自己想法指定(跑到某选项中间了),如下: [attachimg]500713[/attachimg] 这个不是因为菜单项生成先后顺序的问题  详情 回复 发表于 2022-5-3 12:55
刚实际测试了下,使用 ENVI @@DeskTopFresh=1 好像只能刷新桌面,不能刷新图标,(缩放后桌面图标会出现大小不一情况);  详情 回复 发表于 2022-5-3 11:32
第二条好,不用闪屏了。  发表于 2022-5-2 21:19
原来还能这样,不错啊! 请问一下,图中弹出来的二级子菜单怎么加分割线呢?  详情 回复 发表于 2022-5-2 16:58
这次真是学到了这么多好技术,非常受益!  发表于 2022-5-2 15:59
回复

使用道具 举报

发表于 2022-5-2 15:57:36 | 显示全部楼层
lhc0688 发表于 2022-5-2 15:09
微软win10设置显示缩放可以根据显示分辨率情况,屏蔽不支持的选项;WinXShell命令打开的显示设置也可以; ...

90楼红毛大佬的代码应该就是判断缩放范围的,但怎么搞出成品就一窍不通了
回复

使用道具 举报

发表于 2022-5-2 16:24:30 | 显示全部楼层
技术贴啊 !学习了
回复

使用道具 举报

发表于 2022-5-2 16:58:55 | 显示全部楼层
Bluebells 发表于 2022-5-2 15:33
1. 上下文菜单分隔线的添加, 使用注册表项值 SeparatorBefore 或 SeparatorAfter, 其数据类型为 REG_DWOR ...

原来还能这样,不错啊!

请问一下,图中弹出来的二级子菜单怎么加分割线呢?
回复

使用道具 举报

发表于 2022-5-2 18:34:38 | 显示全部楼层
lhc0688 发表于 2022-5-1 00:54
昨天我才刚意识到,显示缩放后图标间距异常问题,是跟pe有关,而非之前以为的是WinXShell命令的问题,(昨 ...

图标间距异常因为图标组没有合适的尺寸

点评

对比了整个WindowsMetrics项,没发现问题, Shell Icon Size值缩放前后都是32,也没发现问题;  详情 回复 发表于 2022-5-2 22:44
但两个pe都是我用同一种方式改的,工具软件也是相同的,难道这个图标组合尺寸是依赖系统某个设定吗?  详情 回复 发表于 2022-5-2 22:01
回复

使用道具 举报

发表于 2022-5-2 18:46:59 | 显示全部楼层
本帖最后由 2013koko 于 2022-5-2 20:14 编辑
lhc0688 发表于 2022-5-2 15:09
微软win10设置显示缩放可以根据显示分辨率情况,屏蔽不支持的选项;WinXShell命令打开的显示设置也可以; ...

我觉得可以直接从 159,0,0,1 来往两边分,不用写具体的缩放值。因为这个就是系统推荐的缩放比例。
推荐值放大或缩小2个等级应该就够用了,再大也大不了,再小也无意义。
我现在准备这样改,子菜单就很简洁了。
sshot-1.png

点评

放大一级代码: REGI $HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\SetDPI\shell\ZoomFactor1\MUIVerb= =放大一级 REGI $HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\SetDPI  详情 回复 发表于 2022-9-12 10:14
回复

使用道具 举报

 楼主| 发表于 2022-5-2 22:01:04 | 显示全部楼层
泮安宁 发表于 2022-5-2 18:34
图标间距异常因为图标组没有合适的尺寸

但两个pe都是我用同一种方式改的,工具软件也是相同的,难道这个图标组合尺寸是依赖系统某个设定吗?

点评

HKEY_CURRENT_USER/Control Panel/Desktop/WindowsMetrics Shell Icon Size-----难道是这个值引起的?我测试下看看。  发表于 2022-5-2 22:25
难道跟系统图标库dll有关?  发表于 2022-5-2 22:10
我替换了[HKEY_LOCAL_MACHINE\_aaa\Control Panel\Desktop]完整项,但没作用;  发表于 2022-5-2 22:04
两个pe:一个wepe,一个2013koko的,桌面能知道的唯一区别,是后者原本带有快捷方式小箭头;  发表于 2022-5-2 22:03
回复

使用道具 举报

 楼主| 发表于 2022-5-2 22:44:25 | 显示全部楼层
泮安宁 发表于 2022-5-2 18:34
图标间距异常因为图标组没有合适的尺寸

对比了整个WindowsMetrics项,没发现问题, Shell Icon Size值缩放前后都是32,也没发现问题;

点评

是应用图标组,假如这个应用图标只有一个尺寸,那么缩放就会显示出问题  详情 回复 发表于 2022-5-2 22:49
回复

使用道具 举报

 楼主| 发表于 2022-5-2 22:48:45 | 显示全部楼层
我对比了wepe跟koko两个pe内的cofing文件夹,后者DEFAULT、SYSTEM两个注册表精简幅度都很大,感觉之问题真可能是出在注册表过度精简上了,前面有坛友说过这个问题,我还反驳过。
回复

使用道具 举报

发表于 2022-5-2 22:49:05 | 显示全部楼层
本帖最后由 泮安宁 于 2022-5-2 22:55 编辑
lhc0688 发表于 2022-5-2 22:44
对比了整个WindowsMetrics项,没发现问题, Shell Icon Size值缩放前后都是32,也没发现问题;

是应用图标组,假如这个应用图标只有一个尺寸,那么缩放就会显示出问题,系统图标自然是在系统的dll资源里,第三方软件,可用RH查看有几个尺寸 捕获_1.PNG
比如这个应用,有这么多尺寸,不同的缩放会用不同的尺寸显示

点评

但我改过的两个pe,桌面图标是一致的,用的工具软件也一致,难道这样会存在区别?  发表于 2022-5-2 22:57
回复

使用道具 举报

发表于 2022-5-2 23:05:21 | 显示全部楼层
用的工具软件也一致
————————————————
“用的工具软件也一致”什么意思,同一个文件在两个PE中缩放有不同的效果吗,如果是的话,我也不知道什么原因,至少在我电脑上,间距不正常是图标组的原因,增加了一些尺寸就正常了,你可以把图标提取出来增加尺寸再替换进去试一下,图标编辑我用的Axialis IconWorkshop

点评

就是集成的工具软件都是一样的,桌面图标也是一样的,对比看了Shell Icon Size值都是32,缩放前后也都没改变。确实是个疑难问题。  发表于 2022-5-2 23:14
回复

使用道具 举报

 楼主| 发表于 2022-5-2 23:18:09 | 显示全部楼层
你可以把图标提取出来增加尺寸再替换进去试一下
--------------
这确实是一直测试办法,不过要花点时间改下,回头试试;但同样的图标,在不同pe下出现异常,一定还跟其它项有关,比如检测图标组并对应显示的项。
回复

使用道具 举报

 楼主| 发表于 2022-5-3 11:23:06 | 显示全部楼层
本帖最后由 lhc0688 于 2022-5-3 14:07 编辑

用527104427大师的代码(第一版),能正常自适应缩放,后面两版好像都是按100%缩放了,不知道是什么原因?
setdpi.wcs(第一版).7z (819 Bytes, 下载次数: 19)
回复

使用道具 举报

 楼主| 发表于 2022-5-3 11:32:35 | 显示全部楼层
Bluebells 发表于 2022-5-2 15:33
1. 上下文菜单分隔线的添加, 使用注册表项值 SeparatorBefore 或 SeparatorAfter, 其数据类型为 REG_DWOR ...

刚实际测试了下,使用 ENVI @@DeskTopFresh=1 好像只能刷新桌面,不能刷新图标,(缩放后桌面图标会出现大小不一情况);

点评

确实,没发现其他像kill explorer一样有效且可靠的方法  发表于 2022-5-3 12:17
回复

使用道具 举报

 楼主| 发表于 2022-5-3 12:55:44 | 显示全部楼层
Bluebells 发表于 2022-5-2 15:33
1. 上下文菜单分隔线的添加, 使用注册表项值 SeparatorBefore 或 SeparatorAfter, 其数据类型为 REG_DWOR ...

根据Bluebells朋友的指点,确实解决了选项分组线的问题。但又遇到新问题,选项的位置总是不能按自己想法指定(跑到某选项中间了),如下:
sshot-1.jpg

这个不是因为菜单项生成先后顺序的问题,而且注册表里也不能手动改变位置。经过多番测试,最终发现竟然是排序的问题!而且按字母、符号直接排序好像也不行,必须按数字顺序就可以,实际效果截图如下:

sshot-2.jpg

这样的话,这个菜单右键相关问题基本算圆满解决了。

点评

这个显示100%怎么跟下面几组分辨率没有对齐,好像出头了一个空格  详情 回复 发表于 2022-5-5 13:37
楼主这个帖子解决了大家困扰许久的问题,感谢此贴所有付出贡献的朋友们! 首页壁纸、右键重启关机注册表能不能也分享一下,再次感谢!  详情 回复 发表于 2022-5-5 12:59
晕,我一直认为是按显示的字符排序的,结果是按注册项排序的  详情 回复 发表于 2022-5-3 14:21
回复

使用道具 举报

发表于 2022-5-3 14:21:14 | 显示全部楼层
lhc0688 发表于 2022-5-3 12:55
根据Bluebells朋友的指点,确实解决了选项分组线的问题。但又遇到新问题,选项的位置总是不能按自己想法 ...

晕,我一直认为是按显示的字符排序的,结果是按注册项排序的
回复

使用道具 举报

发表于 2022-5-5 12:59:53 | 显示全部楼层
lhc0688 发表于 2022-5-3 12:55
根据Bluebells朋友的指点,确实解决了选项分组线的问题。但又遇到新问题,选项的位置总是不能按自己想法 ...

楼主这个帖子解决了大家困扰许久的问题,感谢此贴所有付出贡献的朋友们!

首页壁纸、右键重启关机注册表能不能也分享一下,再次感谢!

点评

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=429679&page=7#pid4557907 190#楼 ;===============以下为右键菜单优化============= ; [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersi  详情 回复 发表于 2022-5-5 13:04
回复

使用道具 举报

 楼主| 发表于 2022-5-5 13:04:48 | 显示全部楼层
nfans 发表于 2022-5-5 12:59
楼主这个帖子解决了大家困扰许久的问题,感谢此贴所有付出贡献的朋友们!

首页壁纸、右键重启关机注册 ...

http://bbs.wuyou.net/forum.php?m ... 9&page=7#pid4557907

190#楼

;===============以下为右键菜单优化=============
;
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\2.shutdown]
@="关机"
"Icon"="shell32.dll,27"
"Position"="bottom"
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\2.shutdown\command]
@="pecmd shut"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\2.shutdown]
@="关机"
"Icon"="shell32.dll,27"
"Position"="bottom"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\2.shutdown\command]
@="pecmd shut"

[HKEY_CLASSES_ROOT\DesktopBackground\Shell\3.restart]
@="重启"
"Icon"="shell32.dll,146"
"Position"="bottom"
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\3.restart\command]
@="pecmd shut -r"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\3.restart]
@="重启"
"Icon"="shell32.dll,146"
"Position"="bottom"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\3.restart\command]
@="pecmd shut -r"
;

点评

想要的是这张:  详情 回复 发表于 2022-5-5 13:30
回复

使用道具 举报

发表于 2022-5-5 13:30:15 | 显示全部楼层
lhc0688 发表于 2022-5-5 13:04
http://bbs.wuyou.net/forum.php?m ... 9&page=7#pid4557907

190#楼

想要的是这张:

点评

无垠pe里的  发表于 2022-5-5 15:28
回复

使用道具 举报

发表于 2022-5-5 13:37:32 来自手机 | 显示全部楼层
lhc0688 发表于 2022-5-3 12:55
根据Bluebells朋友的指点,确实解决了选项分组线的问题。但又遇到新问题,选项的位置总是不能按自己想法 ...

这个显示100%怎么跟下面几组分辨率没有对齐,好像出头了一个空格

点评

截图问题  发表于 2022-5-5 15:29
回复

使用道具 举报

发表于 2022-5-17 14:41:01 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

发表于 2022-5-20 19:49:04 | 显示全部楼层
按69楼的代码在PE中试了下,Win10/11能够正常改变,win7/8/8.1似乎无效
dpi11-300.PNG

点评

用126#的试试,支持的系统才会出右键  详情 回复 发表于 2022-5-20 20:08
回复

使用道具 举报

发表于 2022-5-20 23:38:21 | 显示全部楼层
527104427 发表于 2022-5-20 20:08
用126#的试试,支持的系统才会出右键

刚才在win7正常系统中试了下126#的,确实不行。我把你的程序修改了一下,请斧正: setdpi.7z (1.93 KB, 下载次数: 14)

点评

看起来没啥问题。 我原先是对右键个数不设上限的,现在你只限定为两位数,而且只能是13个。也没毛病,要太多也显示不了。  详情 回复 发表于 2022-5-21 07:59
看起来没啥问题。 我原先是对右键个数不设上限的,现在你只限定为两位数,而且只能是13个。也没毛病,要太多也显示不了。  详情 回复 发表于 2022-5-21 07:59
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 21:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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