无忧启动论坛

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

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

    [复制链接]
跳转到指定楼层
#
发表于 2021-1-18 23:50:04 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
1、修改分辨率时,任务栏位置不对;
2、连接多显示器时,壁纸消失;
3、应用全屏时,任务栏挡在前面。
需要前两个功能,只需ShellF5(x64)或ShellR32(x86)
或自己编程:
case WM_DISPLAYCHANGE:
        HWND hwnd = FindWindow(_T("Shell_TrayWnd"), _T(""));
        SendMessageW(hwnd, 1464, 0, 0);//HandleDisplayChange
        HWND progman = FindWindow(L"ProgMan", NULL);
        SendMessageTimeout(progman, WM_USER + SPI_SETFONTSMOOTHING, 0, 0, SMTO_NORMAL, 1000, nullptr);//0x44B(1099)

需要第三个功能x64系统4个文件全要(只需运行ShellF5),x86需要带32的两个文件。
水平有限,有谁知道更方便的办法也请分享一下。
文件及源码。
ShellF5.7z (363.73 KB, 下载次数: 168) winpe.7z (16.47 KB, 下载次数: 128)




评分

参与人数 6无忧币 +30 收起 理由
absman1972 + 5 很给力!
深谷憂狼 + 5 很给力!
cuicongyuan + 5 很给力!
microlaf + 5 连击点赞!
2013koko + 5 很给力!
928274096 + 5 很给力!

查看全部评分

40#
发表于 2024-4-30 07:34:50 来自手机 | 只看该作者
谢谢分享!
回复

使用道具 举报

39#
发表于 2024-4-28 15:41:08 来自手机 | 只看该作者
谢谢分享!
回复

使用道具 举报

38#
发表于 2024-3-20 14:14:20 | 只看该作者
感谢,一直在寻找。
回复

使用道具 举报

37#
发表于 2024-1-16 10:15:52 | 只看该作者
很好很好很好
回复

使用道具 举报

36#
发表于 2024-1-7 15:15:15 | 只看该作者
两个文件都要下载吗
回复

使用道具 举报

35#
发表于 2024-1-7 15:11:43 | 只看该作者
下载测试一下
回复

使用道具 举报

34#
发表于 2024-1-7 15:11:19 | 只看该作者
很给力!
回复

使用道具 举报

33#
发表于 2024-1-6 20:56:59 | 只看该作者
还是下载不了啊
回复

使用道具 举报

32#
发表于 2024-1-5 22:53:43 | 只看该作者
谢谢分享
回复

使用道具 举报

31#
发表于 2024-1-5 22:53:25 | 只看该作者
谢谢分享
回复

使用道具 举报

30#
发表于 2024-1-5 21:38:14 | 只看该作者
谢谢分享
回复

使用道具 举报

29#
发表于 2024-1-5 21:37:48 | 只看该作者
很给力!
回复

使用道具 举报

28#
发表于 2024-1-5 18:20:27 | 只看该作者
学习学习
回复

使用道具 举报

27#
发表于 2024-1-5 13:52:19 | 只看该作者
学习
回复

使用道具 举报

26#
发表于 2024-1-4 15:58:10 | 只看该作者
我怎么下载不了
回复

使用道具 举报

25#
发表于 2024-1-1 09:10:56 | 只看该作者
楼主,可不可以发一个网盘链接,像我这样的下载不了附件
回复

使用道具 举报

24#
发表于 2024-1-1 08:57:27 | 只看该作者
Good!
回复

使用道具 举报

23#
发表于 2023-8-10 15:53:39 | 只看该作者
特别有用!感谢分享
回复

使用道具 举报

22#
发表于 2023-4-19 21:48:56 | 只看该作者
全屏播放的出处在这,一顿好找!

点评

这是一个被低估的好用工具  详情 回复 发表于 2023-4-19 22:07
回复

使用道具 举报

21#
发表于 2023-2-20 16:03:15 | 只看该作者
使用了,谢谢分享
回复

使用道具 举报

20#
发表于 2023-1-3 23:49:59 | 只看该作者
使用的就是在kuer x64PE下。
这个补丁只要退出进程即可反复测试,立即可见测试效果的
回复

使用道具 举报

19#
发表于 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也是可以的。


回复

使用道具 举报

18#
 楼主| 发表于 2023-1-3 23:08:51 | 只看该作者
microlaf 发表于 2023-1-3 16:57
我觉得可以变一下判断逻辑,如果x64下支持32位程序,则直接运行ShellR32.exe,否则执行ShellF5.exe,其内部 ...

试了一下 Kuer x64 PE,将4个文件放在system32文件夹下,然后
EXEC %SystemRoot%\System32\ShellF5.exe
没有问题。
你的是
EXEC %CurDir%\ShellF5\ShellF5.exe

点评

放到system32下的确可以EXEC %SystemRoot%\System32\ShellF5.exe来启动两个exe,然而,全屏补丁没有生效:[attachimg]516520[/attachimg] 测试放到system32下,单独执行shellR32.exe也不行。 但我重新定义热键  详情 回复 发表于 2023-1-3 23:47
回复

使用道具 举报

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

使用道具 举报

16#
发表于 2023-1-3 16:52:18 | 只看该作者
yamingw 发表于 2023-1-3 16:04
if (is64BitOS())
    {
        ShellExecute(NULL, _T("open"), _T("ShellR32.exe"), _T(""), _T("" ...

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

使用道具 举报

15#
 楼主| 发表于 2023-1-3 16:04:24 | 只看该作者
microlaf 发表于 2023-1-3 10:27
或许是使用的PE是兼容32位的x64PE,造成这种结果?
我所不理解的是EXEC跟手动执行不一致,这个费解

if (is64BitOS())
    {
        ShellExecute(NULL, _T("open"), _T("ShellR32.exe"), _T(""), _T(""), SW_SHOW);
    }
可能这个判断有问题,自己如果有能力可以改写

点评

被编程玩的人不搞编程啊,y大修正一下看看  详情 回复 发表于 2023-1-3 16:52
回复

使用道具 举报

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

使用道具 举报

13#
发表于 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,也可以达到全屏时隐藏任务栏效果。


回复

使用道具 举报

12#
 楼主| 发表于 2023-1-3 09:49:19 | 只看该作者
本帖最后由 yamingw 于 2023-1-3 09:50 编辑
microlaf 发表于 2023-1-3 09:16
y大,这个补丁实际运行有点问题:就是手动双击执行,进程可见ShellF5.exe和ShellR32.exe。
实际上,在PE区 ...

我是这样用的:
RUNS PECMD.EXE EXEC !"%SystemRoot%\ShellF5.exe",RefreshDesktop
你exec时可能太早,在explorer启动之后较好。(猜测未验证)shellf5是监控64位,R32是监控32位

点评

哦,那我注释掉,弄个热键等稳定下来试试。  详情 回复 发表于 2023-1-3 10:01
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-9 16:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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