无忧启动论坛

标题: Windows 10 PE去掉PECMD的问题 [打印本页]

作者: vcmasm    时间: 2025-5-22 18:23
标题: Windows 10 PE去掉PECMD的问题
Windows 10 PE 去掉 PECMD 的问题(用 Explorer + StartIsBack 方案)
1. 重启正常, 关机只能用 wpeutil shutdown
2. 按 Ctrl + Alt + Del 没反应
3. 显示桌面包含快捷键失效

作者: martin313    时间: 2025-5-22 18:43
winxshell 可以取代 pecmd
作者: Bluebells    时间: 2025-5-22 19:15
martin313 发表于 2025-5-22 18:43
winxshell 可以取代 pecmd

winxshell 有没有直接的磁盘分区处理功能命令? 有没有直接的驱动程序安装命令? 有没有直接的注册表处理命令? 还有直接的...
作者: vcmasm    时间: 2025-5-22 19:18
也不想用WinXShell
作者: vcmasm    时间: 2025-5-22 19:39
除了StartIsBack,全部Windows原生文件
作者: 我是小青蛙    时间: 2025-5-22 20:00
不用就这样玩,显示桌面有没有也没关系,关机重启命令弄成快捷方式放在开始菜单搞定
作者: martin313    时间: 2025-5-22 20:45
Bluebells 发表于 2025-5-22 19:15
winxshell 有没有直接的磁盘分区处理功能命令? 有没有直接的驱动程序安装命令? 有没有直接的注册表处理命 ...


PE 本身就有这些功能
作者: martin313    时间: 2025-5-22 20:51
Bluebells 发表于 2025-5-22 19:15
winxshell 有没有直接的磁盘分区处理功能命令? 有没有直接的驱动程序安装命令? 有没有直接的注册表处理命 ...


我制作发布的大部分PE,用的就是winxshell,少量使用了pecmd的功能。但可以完全不用pecmd。
作者: Bluebells    时间: 2025-5-22 21:07
martin313 发表于 2025-5-22 20:45
PE 本身就有这些功能

那我就举个PE本身没有的功能, 直接查询UEFI固件变量, 如果你一定要钻牛角尖, 那就用 winxshell 调用 winapi 吧, 因为 pecmd 的绝大多数功能命令就是调用 winapi
作者: martin313    时间: 2025-5-22 21:16
Bluebells 发表于 2025-5-22 21:07
那我就举个PE本身没有的功能, 直接查询UEFI固件变量, 如果你一定要钻牛角尖, 那就用 winxshell 调用 wina ...

你自己在钻牛角尖吧

我说的是可以,不是完全取代,每个软件各有长处,没啥可比

至于你说的PE不能查询UEFI固件变量,首先PE下要查询干嘛?其次,如果你PE不能查询,那只能说是此PE功能不完善,给PE加上PowerShell就可以查询
作者: 13433801326    时间: 2025-5-22 21:27
winxshell 可以取代 pecmd
作者: youxia1220    时间: 2025-5-22 23:25
谢谢分享
作者: youxia1220    时间: 2025-5-22 23:27
vcmasm 发表于 2025-5-22 19:39
除了StartIsBack,全部Windows原生文件

同感,楼主制作一个,学习一下。
作者: slore    时间: 2025-5-23 02:52
Bluebells 发表于 2025-5-22 19:15
winxshell 有没有直接的磁盘分区处理功能命令? 有没有直接的驱动程序安装命令? 有没有直接的注册表处理命 ...

winxshell不做其他专业程序做好的事。
磁盘分区,diskpart,DG,系统磁盘管理工具,没怎么用过pecmd代码分区,很早前多硬盘环境下操作有bug,命令写起来也不好懂就放弃了。

驱动安装系统带3个命令足够用,还有其他3方DriverIndexer等的方便的安装命令。

直接的注册表处理的话,WinXShell有的,Reg:XXXX() 方法,可以看帮助,比pecmd的好记好用,支持多项查询,支持自动类型。

WinXShell没打算代替pecmd,启动和外壳功能做好就行了,比如任务栏固定功能,显示桌面功能,
pecmd在windows 11上就不能用还会导致Explorer崩溃,用WinXShell可以解决。
Windows 11的PE,StartAllBack的关机,重启可用,用WinXShell可以启用Ctrl+Alt+Del,
和修复显示桌面功能。
PE本就残缺,要修修补补,不想用第三方程序,就考虑这些被修复功能就好了。
关机,重启做个快捷方式,CTRL+ALT+DEL,打开任务管理器的话,可以任务栏右键,可以做快捷方式。
显示桌面问题,修复代码我都公布过了,发个系统消息就行了,自己可以单独编译一个用。

作者: martin313    时间: 2025-5-23 05:02
slore 发表于 2025-5-23 02:52
winxshell不做其他专业程序做好的事。
磁盘分区,diskpart,DG,系统磁盘管理工具,没怎么用过pecmd代码 ...


老大:请注意作息时间规律,注意身体啊
作者: martin313    时间: 2025-5-23 05:08

用winxshell直接注册表处理,举例:

Reg:Write([[HKEY_LOCAL_MACHINE\SYSTEM\Setup]], 'SystemSetupInProgress',0, winapi.REG_DWORD)
作者: ajlass    时间: 2025-5-23 08:49
winxshell 可以取代 pecmd
作者: vcmasm    时间: 2025-5-23 10:06
slore 发表于 2025-5-23 02:52
winxshell不做其他专业程序做好的事。
磁盘分区,diskpart,DG,系统磁盘管理工具,没怎么用过pecmd代码 ...

谢谢大神!
作者: vcmasm    时间: 2025-5-23 10:07
slore 发表于 2025-5-23 02:52
winxshell不做其他专业程序做好的事。
磁盘分区,diskpart,DG,系统磁盘管理工具,没怎么用过pecmd代码 ...

请问 显示桌面问题,修复代码 在哪里?
作者: Bluebells    时间: 2025-5-23 10:41
slore 发表于 2025-5-23 02:52
winxshell不做其他专业程序做好的事。
磁盘分区,diskpart,DG,系统磁盘管理工具,没怎么用过pecmd代码 ...

我对 winxshell 没有任何偏见, 我是对某人说"winxhell 可以取代 pecmd"的结论持不同意见罢了, 我是希望 winxshell 的发展越来越好
作者: slore    时间: 2025-5-23 12:39
本帖最后由 slore 于 2025-5-23 14:50 编辑
Bluebells 发表于 2025-5-23 10:41
我对 winxshell 没有任何偏见, 我是对某人说"winxhell 可以取代 pecmd"的结论持不同意见罢了, 我是希望 w ...


取代是说作为启动管理, 修复PE启动的一些操作问题。楼主上面的3个需求都是这方面的,其中2个winxshell可以解决,关机重启,
开始菜单软件可以解决。限定到win10来说,pecmd还能用,对于win11来说,pecmd用了有问题,显示桌面反而导致外壳崩溃,需要用winxshell来解决。


你说的磁盘管理,注册表操作等功能,和楼主的需求的取代功能就不是一回事。

作者: slore    时间: 2025-5-23 12:41
vcmasm 发表于 2025-5-23 10:07
请问 显示桌面问题,修复代码 在哪里?

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378303
作者: martin313    时间: 2025-5-23 14:09
slore 发表于 2025-5-23 12:41
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378303


老大,啥时能解决winxshell引导启动wpeinit.exe出现闪黑框的问题?

如果能彻底隐藏执行wpeinit.exe,那我的PE里就可以彻底不用pecmd.exe了,哈哈……
作者: martin313    时间: 2025-5-23 14:49
slore 发表于 2025-5-23 12:41
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378303


好像已经解决了隐藏执行wpeinit.exe的问题!咨询了deepseek,给了参考答案!

于是在pecmd.lua中写成这样,就能隐藏执行:exec('/hide', 'cmd.exe /c start /B wpeinit.exe')
作者: vcmasm    时间: 2025-5-23 23:10
vcmasm 发表于 2025-5-23 10:07
请问 显示桌面问题,修复代码 在哪里?

已OK。谢谢大神!
作者: vcmasm    时间: 2025-5-23 23:14
VS2017 /MT编译出来居然有100+KB
作者: vcmasm    时间: 2025-5-24 08:17
终于编译到2+KB
作者: vcmasm    时间: 2025-5-24 09:02
#include "framework.h"
#include "FixWinPE.h"

#pragma comment(linker, "/ENTRY:EntryMain")

int EntryMain()
{
    HWND hWnd = FindWindowW(L"Shell_TrayWnd", NULL);

    if (hWnd == NULL)
        return 1;

    SendMessageW(hWnd, WM_USER + 0x1BA, 0, 0);

    return 0;
}
作者: vcmasm    时间: 2025-5-24 09:12
不能发附件?
作者: vcmasm    时间: 2025-5-24 09:13
源码和编译好的文件不能发
作者: vcmasm    时间: 2025-5-24 09:17
解决了第3个问题
作者: 怀中猫chat    时间: 2025-5-24 09:42
感谢分享
作者: vcmasm    时间: 2025-5-24 09:50
再能解决第1个问题,修复系统上的 关机 就可以了。第2个问题可以不管了。
作者: vcmasm    时间: 2025-5-24 14:07
slore 发表于 2025-5-23 02:52
winxshell不做其他专业程序做好的事。
磁盘分区,diskpart,DG,系统磁盘管理工具,没怎么用过pecmd代码 ...

Windows 11的PE,StartAllBack的关机、重启可用,在Windows 10 PE上能用吗?
作者: vcmasm    时间: 2025-5-24 14:10
vcmasm 发表于 2025-5-24 09:02
#include "framework.h"
#include "FixWinPE.h"

可以将此程序加入PE的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下,启动时自动运行
作者: Hjbob    时间: 2025-5-24 14:22
vcmasm 发表于 2025-5-22 19:39
除了StartIsBack,全部Windows原生文件

+1
作者: 100308223    时间: 2025-5-24 14:52
感谢分享!
作者: vcmasm    时间: 2025-5-26 17:53
已通过程序完全解决!谢谢大家!
作者: vcmasm    时间: 2025-5-26 18:04
本帖最后由 vcmasm 于 2025-5-26 18:56 编辑

1. 去掉了StartIsBack, 快捷方式放桌面
2. 程序通过键盘钩子增加 Ctrl+Alt+Del 按键响应,弹出对话框,提供 “关机”, "重启", "任务管理器" 等按钮及功能
3. 修复 “显示桌面” 功能
4. 程序运行时自动启动 "EXPLORER", 因此将其放在PE注册表HKEY_LOCAL_MACHINE\SYSTEM\Setup下CmdLine中, 关闭 "EXPLORER" 不会重启 PE, 并且关闭 "EXPLORER" 重新运行时会自动修复 “显示桌面” 功能, 不用手动运行
5. 程序只运行一个实例
作者: vcmasm    时间: 2025-5-26 18:07
还缺隐藏自身进程的功能, 防止在任务管理器中被关闭而重启 PE
作者: vcmasm    时间: 2025-5-26 18:07
基本达到目的, 暂停折腾




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3