无忧启动论坛

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

[分享] 试图解决WinPE的几个小问题,需要的自取

    [复制链接]
1#
发表于 2023-1-3 09:16:57 | 显示全部楼层
y大,这个补丁实际运行有点问题:就是手动双击执行,进程可见ShellF5.exe和ShellR32.exe。
实际上,在PE区Linghtning及Kuer两位的x64 PE中测试,使用PECMD来运行:
  1. EXEC %CurDir%\ShellF5\ShellF5.exe
复制代码
则进程中只有ShellF5.exe,而没有启动ShellR32.exe。也就是EXEC执行与手动双击运行结果不一致。这导致手动时全屏补丁没有生效,任务栏仍挡在前面。

但在上述PE中单独运行或者EXEC执行ShellR32.exe,任务栏在全屏时被隐藏,补丁生效。
也就是实际生效的是ShellR32.exe。

我所奇怪的是64位PE下,EXEC ShellF5.exe为何没有启动ShellR32.exe?


点评

我是这样用的: RUNS PECMD.EXE EXEC !"%SystemRoot%\ShellF5.exe",RefreshDesktop 你exec时可能太早,在explorer启动之后较好。(猜测未验证)  详情 回复 发表于 2023-1-3 09:49
回复

使用道具 举报

2#
发表于 2023-1-3 10:01:35 | 显示全部楼层
本帖最后由 microlaf 于 2023-1-3 10:24 编辑
yamingw 发表于 2023-1-3 09:49
我是这样用的:
RUNS PECMD.EXE EXEC !"%SystemRoot%\ShellF5.exe",RefreshDesktop
你exec时可能太早, ...

哦,那我注释掉,弄个热键等稳定下来试试。
进入PE,等待足够长时间,按热键F9,EXEC shellF5.exe,还是只有它自己出现在进程里,没有shellR32出现。





按F7,杀进程然后单独执行两个exe,就没问题:


当然,kill ShellF5.exe或者单独执行ShellR32.exe,也可以达到全屏时隐藏任务栏效果。


回复

使用道具 举报

3#
发表于 2023-1-3 10:27:08 | 显示全部楼层
或许是使用的PE是兼容32位的x64PE,造成这种结果?
我所不理解的是EXEC跟手动执行不一致,这个费解

点评

if (is64BitOS()) { ShellExecute(NULL, _T("open"), _T("ShellR32.exe"), _T(""), _T(""), SW_SHOW); } 可能这个判断有问题,自己如果有能力可以改写  详情 回复 发表于 2023-1-3 16:04
回复

使用道具 举报

4#
发表于 2023-1-3 16:52:18 | 显示全部楼层
yamingw 发表于 2023-1-3 16:04
if (is64BitOS())
    {
        ShellExecute(NULL, _T("open"), _T("ShellR32.exe"), _T(""), _T("" ...

被编程玩的人不搞编程啊,y大修正一下看看
回复

使用道具 举报

5#
发表于 2023-1-3 16:57:35 | 显示全部楼层
本帖最后由 microlaf 于 2023-1-3 17:00 编辑

我觉得可以变一下判断逻辑,如果x64下支持32位程序,则直接运行ShellR32.exe,否则执行ShellF5.exe,其内部再调用ShellR32.exe。

点评

试了一下 Kuer x64 PE,将4个文件放在system32文件夹下,然后 EXEC %SystemRoot%\System32\ShellF5.exe 没有问题。 你的是 EXEC %CurDir%\ShellF5\ShellF5.exe  详情 回复 发表于 2023-1-3 23:08
回复

使用道具 举报

6#
发表于 2023-1-3 23:47:39 | 显示全部楼层
yamingw 发表于 2023-1-3 23:08
试了一下 Kuer x64 PE,将4个文件放在system32文件夹下,然后
EXEC %SystemRoot%\System32\ShellF5.exe
...

放到system32下的确可以EXEC %SystemRoot%\System32\ShellF5.exe来启动两个exe,然而,全屏补丁没有生效:

测试放到system32下,单独执行shellR32.exe也不行。

但我重新定义热键F9:
  1. HOTK F9,TEAM Kill ShellF5.exe|Kill ShellR32.exe|EXEC -hide "%ProgramFiles%\SOFT\ShellF5\ShellF5.exe"|EXEC -hide "%ProgramFiles%\SOFT\ShellF5\ShellR32.exe" `网页视频全屏补丁
复制代码
按F9杀原有进程重新加载其它位置的两个exe,补丁可生效。

其它位置,单独EXEC shellR32.exe也是可以的。


回复

使用道具 举报

7#
发表于 2023-1-3 23:49:59 | 显示全部楼层
使用的就是在kuer x64PE下。
这个补丁只要退出进程即可反复测试,立即可见测试效果的
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-29 10:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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