无忧启动论坛

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

[发布] 【2024.05.10】KuerPE_23h2-22631.3296_A&S双用户.PPPOE.蓝牙.打印.摄像头_全功能

    [复制链接]
3241#
发表于 2024-5-12 16:20:46 | 只看该作者
回复

使用道具 举报

3242#
发表于 2024-5-12 17:14:30 | 只看该作者
谢谢楼主无私分享。
回复

使用道具 举报

3243#
发表于 2024-5-12 17:22:50 | 只看该作者
不错~支持一下!
回复

使用道具 举报

3244#
发表于 2024-5-12 17:45:47 | 只看该作者
本帖最后由 xmzhqw 于 2024-5-12 17:47 编辑

A用户刷新资源管理器后Alt+D或右下角或任务栏右键显示桌面无效的问题应该是:win+d 吧?
不知老大是怎样修复的?Smine 是用这个代码修复:
//修复win+d快捷键不起作用的问题
CALL $--ret:hHwnd user32.dll,FindWindowW,Shell_TrayWnd
CALL $user32.dll,SendMessageW,#%hHwnd%,#1466,#0,#0

点评

对 是win+d 手误了! 10PE 不存在这个问题,只是在最新版的11 A用户 只要一刷新资源管理器 显示桌面的功能就无效了!你可以试试S大的11PE ,A用户下 刷新资源管理器后 看显示桌面功能还  详情 回复 发表于 2024-5-12 18:26
回复

使用道具 举报

3245#
 楼主| 发表于 2024-5-12 18:26:06 | 只看该作者
xmzhqw 发表于 2024-5-12 17:45
A用户刷新资源管理器后Alt+D或右下角或任务栏右键显示桌面无效的问题应该是:win+d 吧?
不知老大是怎样修 ...

对  是win+d   手误了!


10PE  不存在这个问题,只是在最新版的11   A用户  只要一刷新资源管理器   显示桌面的功能就无效了!你可以试试S大的11PE  ,A用户下   刷新资源管理器后  看显示桌面功能还有效不?如何修复  这里回复 一言难尽!
回复

使用道具 举报

3246#
发表于 2024-5-12 18:29:53 | 只看该作者
感谢,试试看看
回复

使用道具 举报

3247#
发表于 2024-5-12 18:33:15 | 只看该作者
下载下列看看
回复

使用道具 举报

3248#
发表于 2024-5-12 18:37:07 | 只看该作者
感谢分享
回复

使用道具 举报

3249#
发表于 2024-5-12 18:50:59 | 只看该作者
太好用了!
回复

使用道具 举报

3250#
发表于 2024-5-12 22:08:29 | 只看该作者
2024,继续努力
回复

使用道具 举报

3251#
发表于 2024-5-13 08:19:47 | 只看该作者
感谢大佬分享
回复

使用道具 举报

3252#
发表于 2024-5-13 09:56:53 | 只看该作者
很不错,支持。
回复

使用道具 举报

3253#
发表于 2024-5-13 10:18:13 | 只看该作者
赞一个。
回复

使用道具 举报

3254#
发表于 2024-5-13 11:30:07 | 只看该作者
感谢大佬默默的付出
回复

使用道具 举报

3255#
发表于 2024-5-13 14:50:49 | 只看该作者
看起来很强大!!!
回复

使用道具 举报

3256#
发表于 2024-5-13 15:21:05 | 只看该作者
太好用了!
回复

使用道具 举报

3257#
发表于 2024-5-13 15:27:56 | 只看该作者
感谢分享
回复

使用道具 举报

3258#
发表于 2024-5-13 18:23:53 | 只看该作者
谢谢楼主无私分享
回复

使用道具 举报

3259#
发表于 2024-5-13 18:24:19 | 只看该作者
谢谢楼主无私分享
回复

使用道具 举报

3260#
发表于 2024-5-13 19:06:29 | 只看该作者
厉害了
回复

使用道具 举报

3261#
发表于 2024-5-13 19:12:52 | 只看该作者
感谢大佬的辛苦劳作和付出
回复

使用道具 举报

3262#
发表于 2024-5-13 20:02:59 | 只看该作者
谢谢分享
回复

使用道具 举报

3263#
发表于 2024-5-14 05:07:28 | 只看该作者
kkkkkkk
回复

使用道具 举报

3264#
发表于 2024-5-14 07:32:43 | 只看该作者
感谢楼主的分享
回复

使用道具 举报

3265#
发表于 2024-5-14 07:51:02 | 只看该作者
支持!!
回复

使用道具 举报

3266#
发表于 2024-5-14 08:02:25 | 只看该作者
谢谢大大,看看地址
回复

使用道具 举报

3267#
发表于 2024-5-14 08:54:48 | 只看该作者
11111
回复

使用道具 举报

3268#
发表于 2024-5-14 10:40:38 | 只看该作者
本帖最后由 xmzhqw 于 2024-5-14 10:53 编辑

KUER 大:
您 的PE中的PECMD好像都是用比较旧的版本,最新版的PECMD用了以后好像有点不正常(包括昨天刚出的PECMD2012.1.88.05.94Stable-240512测试版 也会,我也说不出是什么原因。只是最近想要增加一个调整屏幕DPI的右键无法添加,提示版本太低。
近几天,mdyblog大好像都在更新PECMD,能不能向他反馈一下?让他一并解决了您的PE中发现的问题?能升级到更新的版本不是更好?mdyblog大 的帖子 [更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...
我这个屏幕DPI工具印象中是来自5大的,但一下子找不到了,代码如下(无法传附件,只好复制代码了):
  1. #code=950T936
  2. //by Jet Chan,2022/5/30   modify by hhh333
  3. set^ EnviMode=1
  4. set^ ForceLocal=1

  5. set ?ver=WinVer
  6. ifex $%ver%<0x600000000, exit  //nt5

  7. //用到了变量偏移,新版PECMD才支持:%ProgramFiles:~6,1%  或  %^ProgramFiles:~6;1%  或  %^ProgramFiles:~6:1%
  8. team mstr * Build=<-1>pecmdbuild| sed -ex Build=0,[^0-9],,Build
  9. ifex $[ %pecmdver%<201201880588 | %Build%<20220527 ], team mess=+icon6 PECMD 版本低于 201201.88.05.88  Build: 2022-05-27 @错误(设置dpi)#ok*5000| exit

  10. set RegKey=HKLM\SOFTWARE\Classes\DesktopBackground\Shell\SetDPI
  11. set MainIcon=%%%%SystemRoot%%%%\System32\shell32.dll,-270   //display.dll,-1
  12. set SubIcon==%%%%SystemRoot%%%%\System32\shell32.dll,-44
  13. set Flags= (当前值)
  14. set RecommendIndex=   //推荐值
  15. set RelativeIndex=    //相对值,即100%所对应的值
  16. set MessCount=0
  17. set DoSilence=
  18. set DelKey=!
  19. set RegNum=
  20. set DoReg=
  21. set Auto=
  22. set dpi=

  23. find $%~1<>,
  24. {*
  25.         set k0=1
  26.         loop #%k0%<%#,
  27.         {*
  28.                 mstr -rq++ k1=<%k0%>%*
  29.                 find $%k1:~;4%=/reg, team set DoReg=%k1%| calc #k0=%k0%+1| exit -
  30.                 find $%k1%=/s, team set DoSilence=%k1%| calc #k0=%k0%+1| exit -
  31.                 find $%k1%=/auto, team set Auto=%k1%| calc #k0=%k0%+1| exit -
  32.                 team calc #dpi=%k1%| ifex $%dpi%<100, set dpi=| calc #k0=%k0%+1
  33.         }
  34. }
  35. find *<>Auto, set dpi=

  36. call GetDpiPercent

  37. find *<>DoReg, call RegDpiMenu "%DoReg:~4%"
  38. find [ *<>DoReg & *=dpi & *=Auto ], exit

  39. ifex $%ver%>=0xA00003839,   //低于win10.0.14393不支持SystemParametersInfoW函数
  40. {*
  41.         call GetRelativeIndex RelativeIndex
  42.         ifex $%error%<>0,!! team find *=DoSilence, mess=+icon6 函数错误,程序即将退出! @错误(设置dpi)#OK*3000| exit
  43. }

  44. call SetAutoDpi
  45. call CheckDpiRange dpi
  46. ifex $%percent%=%dpi%, exit

  47. //计算最大dpi公式(非自定义,自定义最大dpi为500%)  //http://bbs.c3.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=430063&pid=4576157
  48. //暂不采用微软官方公式: //calc MaxDpi=int(%DeskTopVertRes%/720*100)   //https://docs.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/dpi-related-apis-and-registry-settings?view=windows-11
  49. calc MaxDpi=int(%DeskTopVertRes%/600*100)
  50. set MaxDpiOld=%MaxDpi%
  51. call CheckDpiRange MaxDpi
  52. find *=DoSilence,
  53. {*
  54.         find *<>RelativeIndex,
  55.         {*
  56.                 ifex $[ %dpi%>%MaxDpi% & '%^UserName%'<>'SYSTEM' ],!! team call IfOrNotShutDown| ^ifex $%%error%%<>0, exit
  57.         }!   
  58.         {*
  59.                 find $%^UserName%<>SYSTEM,!! team call IfOrNotShutDown| ^ifex $%%error%%<>0, exit
  60.         }
  61. }

  62. call ChangeDpiInApi %dpi%

  63. //新进程才能得到更改后的dpi
  64. exec*- -err+ -incmd CurDpi=pecmd load "%CurFile%*GetDpiPercent" --console

  65. ifex $%CurDpi%<>%dpi%,
  66. {
  67.         //SYSTEM用户注销失败(shutdown.exe /l 也失败)
  68.         find $%^UserName%<>SYSTEM,
  69.         {
  70.                 //能注销
  71.                 ifex $%MessCount%=0,
  72.                 {
  73.                         //前面未询问过是否注销
  74.                         call IfOrNotShutDown
  75.                         ifex $%error%=0,
  76.                         {
  77.                                 //注销
  78.                                 call ChangeDpiInReg
  79.                                 call SetRightMenu
  80.                                 shut L
  81.                         }!   
  82.                         {
  83.                                 //不注销,还原dpi
  84.                                 call ChangeDpiInApi %percent%
  85.                         }
  86.                 }!   
  87.                 {
  88.                         //前面已询问过是否注销
  89.                         call ChangeDpiInReg
  90.                         call SetRightMenu
  91.                         shut L
  92.                 }
  93.         }!   
  94.         {
  95.                 //不能注销
  96.                 ifex $%dpi%<=%MaxDpi%, set FinalDpi=%CurDpi%! set FinalDpi=%MaxDpi%
  97.                 find *=DoSilence, mess=+icon1 无法将 dpi 更改为 %dpi%%,最大仅支持 %FinalDpi%% @提示(设置dpi)#OK*5000
  98.         }
  99. }!   
  100. {
  101.         call ChangeDpiInReg
  102.         call SetRightMenu
  103. }
  104. exit

  105. _sub GetDpiPercent *
  106.         call $--ret:ret user32.dll,SetProcessDPIAware  //成功:ret=1
  107.         set hdcCount=0
  108.         loop #%hdcCount%<50,
  109.         {*
  110.                 call $--ret:hdc user32.dll,GetDC,#0
  111.                 calc #hdcCount=%hdcCount%+1
  112.                 ifex $%hdc%>0, exit
  113.                 wait 0.9
  114.         }
  115.         call $--ret:LogPixels Gdi32.dll,GetDeviceCaps,#%hdc%,#90         //dpi高      //#88为宽
  116.         call $--ret:DeskTopVertRes Gdi32.dll,GetDeviceCaps,#%hdc%,#117   //分辨率高   //#118为宽
  117.         calc percent=%LogPixels%/96*100
  118.         find $%~1=--console,!! writ *fv --,,percent
  119. _end

  120. _sub SetRightMenu
  121.         set v0=%RegKey%\shell
  122.         regi --init --ak $%v0%\,v1
  123.         forx *nl v1,v2,
  124.         {
  125.                 regi --init $%v0%\%v2%\command\\,v3
  126.                 mstr * v4=<-1>v3
  127.                 find $%^UserName%=SYSTEM, set v5=%CurDpi%!      set v5=%dpi%
  128.                 ifex $%v4%=%v5%,          set v6=%v4%%%%Flags%! set v6=%v4%%%
  129.                 ifex $%v4%=%dpi%,         set v7=%SubIcon%!     set v7=%DelKey%
  130.                 ifex $%v4%>=100, regi $%v0%\%v2%\\MUIVerb=%v6%
  131.                 regi $%v0%\%v2%\\Icon%v7%
  132.         }
  133. _end

  134. _sub CheckDpiRange
  135.         set r0=
  136.         ^ifex $%%%~1%%>250, set r1=50! set r1=25
  137.         ^calc r2=int(%%%~1%%/%%r1%%)*%%r1%%
  138.         ifex $%r2%<100, set r2=100
  139.         ifex $%r2%>500, set r2=500
  140.         set-ret %~1=%r2%
  141. _end

  142. _sub GetRelativeIndex
  143.         set$# j0=*4 0
  144.         call $--bool --qd --ret:ret user32.dll,SystemParametersInfoW,#158,0,*j0,1
  145.         //call $--ret:ret Kernel32.dll,GetLastError   //官方说GetLastError返回0则失败,但事实不管成功失败,全是0
  146.         //ifex $%ret%<=0, exit   //排除不支持的系统。
  147.         set?ints j0=j1  //j1对应100%  //http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=430063&pid=4553783
  148.         ifex $%j1%>0, team exit= 1| exit
  149.         set-ret %~1=%j1%
  150.         exit= 0
  151. _end

  152. _sub IfOrNotShutDown
  153.         find *<>DoSilence, team exit= 0| exit
  154.         set-ret MessCount=1
  155.         mess=+icon1 将 dpi 更改为 %dpi%%,需要注销才能生效,是否继续? @提示(设置dpi)#YN*5000$N
  156.         find $%yesno%=no, exit= 1! exit= 0
  157. _end

  158. _sub SetAutoDpi *
  159.         find *=dpi,
  160.         {*
  161.                 find *<>RelativeIndex,
  162.                 {*
  163.                         //https://www.codenong.com/35233182/
  164.                         set RecommendIndex=0  //0为系统推荐值,系统自动算的,可能是100%,也可能是350%
  165.                         calc i0=(%RecommendIndex%-%RelativeIndex%)-6  //计算250%以上的步进数(步进单位为50%)
  166.                         ifex $%i0%>0, calc dpi=int(6*25+%i0%*50+100)! calc dpi=int[(%RecommendIndex%-%RelativeIndex%)*25+100]
  167.                 }!   
  168.                 {*
  169.                         //推荐dpi计算公式:最大dpi/1.5
  170.                         calc dpi=int(%MaxDpiOld%/1.5)
  171.                         call CheckDpiRange dpi
  172.                 }
  173.         }
  174. _end

  175. _sub ChangeDpiInReg
  176.         //用改注册表+注销方式实现自动 dpi 缩放,不需要SystemParametersInfoW函数,支持所有windows系统
  177.         calc h0=int(%dpi%/100*96)
  178.         regi #HKCU\Control Panel\Desktop\\LogPixels=%h0%
  179.         regi #HKCU\Control Panel\Desktop\WindowMetrics\\AppliedDPI=%h0%
  180.         ifex $%ver%>=0x600020000,!! regi #HKCU\Control Panel\Desktop\\Win8DpiScaling=1
  181. _end

  182. _sub ChangeDpiInApi
  183.         //SystemParametersInfoW函数有局限性,dpi 大于显示器 ppi 时将被重置为 ppi 最大值
  184.         //https://www.sysceo.com/forum/thread-44479-1-1.html
  185.         ifex [ *<>RelativeIndex & $%~1<=%MaxDpi% ],
  186.         {
  187.                 find *=RecommendIndex,
  188.                 {*
  189.                         ifex $%~1>250,
  190.                         {*
  191.                                 ^calc RecommendIndex=int[(%~1-250)/50+(250-100)/25+%RelativeIndex%]
  192.                         }!   
  193.                         {*
  194.                                 ^calc RecommendIndex=int[(%~1-100)/25+%RelativeIndex%]
  195.                         }
  196.                 }
  197.                 call $--qd# user32.dll,SystemParametersInfoW,159,%RecommendIndex%,0,1
  198.                 envi @@DeskTopFresh=1
  199.                 exec -incmd pecmd envi @@DeskTopFresh=clearicon;1   //刷新桌面图标缓存
  200.         }
  201. _end

  202. _sub RegDpiMenu
  203.         set p1=regi $%RegKey%
  204.         %p1%\\%DelKey%
  205.         set p=%~1
  206.         ifex [ *=p | $%p%>13 ], set p=13   //默认13个右键(500%),理论上支持无穷个,但系统限制只能到500%
  207.         calc #p=%p%
  208.         ifex $%p%>0,
  209.         {
  210.                 sed -ex p11=1:0,\$,#,p1
  211.                 |%p1%\\SubCommands=|
  212.                 %p1%\\MUIVerb=屏幕 dpi 缩放比例(&Z)
  213.                 %p1%\\Position=Bottom
  214.                 %p1%\\Icon=%MainIcon%
  215.                 %p11%\\SeparatorBefore=1  //分隔线
  216.                 %p11%\\SeparatorAfter=1   //分隔线
  217.                 calc #p=%p%-1
  218.                 set p2=-1
  219.                 set p3=1
  220.                 loop #%p2%<%p%,
  221.                 {*
  222.                         ifex $%p3%<2, calc p4=%p2%*25+100
  223.                         ifex $%p4%>250,
  224.                         {*
  225.                                 calc p4=250+%p3%*50
  226.                                 calc p3=%p3%+1
  227.                         }
  228.                         ifex $%p4%=%percent%,
  229.                         {*
  230.                                 set CurFlags=%Flags%
  231.                                 set Icon=%SubIcon%
  232.                         }!   
  233.                         {*
  234.                                 set CurFlags=
  235.                                 set Icon=%DelKey%
  236.                         }
  237.                         ifex $%p4%<100, set p5=自动! set p5=%p4%%%
  238.                         calc p6=%p2%+1
  239.                         //以下代码为自创9进制,即是将10转换成91,11转换成92,20转换成992,以此类推(写注册表时10、100、1000等会排到9前面,比较蛋疼)
  240.                         ifex $%p6%>=9,
  241.                         {*
  242.                                 calc #p7=%p6%/9
  243.                                 calc p8=%p6%%9
  244.                                 code *,9,*ansi,p9
  245.                                 set= pa=*%p7% %p9%
  246.                                 code ***ansi,pa,**uni,pb
  247.                                 set p6=%pb%%p8%
  248.                         }
  249.                         |%p1%\shell\%p6%\\=|
  250.                         %p1%\shell\%p6%\\MUIVerb=%p5%%CurFlags%
  251.                         %p1%\shell\%p6%\command\\="%MyName%" load "%CurFile%" %p4%
  252.                         %p1%\shell\%p6%\\Icon%Icon%
  253.                         calc p2=%p2%+1
  254.                 }
  255.         }
  256. _end

复制代码


点评

我测试了,缩放没问题。 [attachimg]541598[/attachimg]  详情 回复 发表于 2024-5-14 15:16
回复

使用道具 举报

3269#
发表于 2024-5-14 11:05:33 | 只看该作者
大神的作品不错,谢谢分享
回复

使用道具 举报

3270#
发表于 2024-5-14 15:16:06 | 只看该作者
本帖最后由 BEIKING 于 2024-5-14 15:33 编辑
xmzhqw 发表于 2024-5-14 10:40
KUER 大:
您 的PE中的PECMD好像都是用比较旧的版本,最新版的PECMD用了以后好像有点不正常(包括昨天刚出 ...

我测试了,可以添加右键菜单,缩放也没问题。你的脚本代码可能有问题,论坛上搜下其他网友分享的



回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-27 19:11

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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