无忧启动论坛

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

[原创] (2022-02-02 更新) Re:WIN10XPE - 从零开始构建的全功能PE

    [复制链接]
5101#
发表于 2020-12-3 21:22:59 | 只看该作者
新版本 pecmd 是否不需要了?

老版啥样没研究过,我是看见新版的托盘上有“自动分辨率”字样,于是就往这方面努力去了。但是有一点,老版的托盘分辨率挑选几乎不能用,几乎找不到不用“重启桌面进程”就能进桌面的分辨率。新版一选一个准,直接出桌面了.

autodisp.BAT先按照老大的顺序
PECMD LOAD %SystemRoot%\SYSTEM32\DISPLAY.INF
PECMD TEAM DISP

假如不行,还是黑块就上下换个顺序.

点评

默认显卡驱动没效果变化。加载自己的显卡驱动,来测试。  详情 回复 发表于 2020-12-3 21:31
回复

使用道具 举报

5102#
 楼主| 发表于 2020-12-3 21:31:28 | 只看该作者
550 发表于 2020-12-3 21:22
老版啥样没研究过,我是看见新版的托盘上有“自动分辨率”字样,于是就往这方面努力去了。但是有一点,老 ...

默认显卡驱动没效果变化。加载自己的显卡驱动,来测试。
回复

使用道具 举报

5103#
发表于 2020-12-3 21:44:00 | 只看该作者
http://bbs.wuyou.net/forum.php?m ... 3344&fromuid=243070


5099楼
加载自己的显卡驱动


上面就是1909版和20H2版,加载自己显卡的对比图。切换用户都正常显示,用不到“重启桌面进程”.只有在没驱动的时候,用到了.图上的都是老版PECMD.EXE


刚才2论下来,首次切换,还是有黑块.需要“重启桌面进程”.

现在实测下,实体机,或许实体机上新版PECMD改观了。毕竟评测PE平台上的各软硬件配合工况等,都是在实体机上运行的。
回复

使用道具 举报

5104#
发表于 2020-12-3 22:12:06 | 只看该作者
实体机上也黑块,检查后发现命令用错了。
PECMD devi %SystemRoot%\INF\DISPLAY.INF
才会有反应
回复

使用道具 举报

5105#
发表于 2020-12-3 22:22:57 | 只看该作者
都失败了。首次切换用户黑块消不掉....没脾气了

点评

试试?  详情 回复 发表于 2020-12-3 23:03
回复

使用道具 举报

5106#
 楼主| 发表于 2020-12-3 23:03:26 | 只看该作者
550 发表于 2020-12-3 22:22
都失败了。首次切换用户黑块消不掉....没脾气了
  1. start WinXShell.exe -code app:call('Taskbar::ChangeNotify')
复制代码
试试?
回复

使用道具 举报

5107#
发表于 2020-12-3 23:20:41 | 只看该作者
PECMD DISP
start WinXShell.exe -code app:call('Taskbar::ChangeNotify')
上面顺序失败,再试试下面组合

PECMD devi %SystemRoot%\INF\DISPLAY.INF

start WinXShell.exe -code app:call('Taskbar::ChangeNotify')
PECMD DISP
回复

使用道具 举报

5108#
发表于 2020-12-3 23:28:01 | 只看该作者
本帖最后由 550 于 2020-12-3 23:47 编辑

首次切换黑块成功消除!又前进了一步。如法炮制,以这个脚本转成EXE,快捷键到任务栏,这样大概就集全了.
哈哈哈,完美通过,虚拟机全程看不见黑块了,实体机应该也错不了,先报上阶段成绩,实体机稍后就可知了,去开机一次。感谢老大啊
回复

使用道具 举报

5109#
发表于 2020-12-4 00:07:23 | 只看该作者
实体机不出以外,也成功.在没驱动的情况下,全程看不见黑块了,无需“重启桌面进程”参与了.
下面是装驱动的工况
装实体机自己的驱动后,每次切换用户,墙纸总是不显示,全黑的底,需要“重启桌面进程”才能显示墙纸。这个现象老大能否修理.

点评

local本地函数,外部无法调用。。。 你写2行吧。 start WinXShell.exe -code app:call('Desktop::UpdateWallpaper') start WinXShell.exe -code app:call('Taskbar::ChangeNotify') 话说,不用P  详情 回复 发表于 2020-12-4 00:38
回复

使用道具 举报

5110#
 楼主| 发表于 2020-12-4 00:38:50 | 只看该作者
550 发表于 2020-12-4 00:07
实体机不出以外,也成功.在没驱动的情况下,全程看不见黑块了,无需“重启桌面进程”参与了.
下面是装驱动 ...
  1. local function fixscreen()
  2.   app:call('Desktop::UpdateWallpaper')
  3.   app:call('sleep', 200)
  4.   app:call('Taskbar::ChangeNotify')
  5. end
复制代码


local本地函数,外部无法调用。。。

你写2行吧。

start WinXShell.exe -code app:call('Desktop::UpdateWallpaper')
start WinXShell.exe -code app:call('Taskbar::ChangeNotify')




话说,不用PECMD,直接start WinXShell.exe -code Screen:Disp() 可以么?
回复

使用道具 举报

5111#
发表于 2020-12-4 00:46:30 | 只看该作者
本帖最后由 550 于 2020-12-4 01:26 编辑

直接start WinXShell.exe -code Screen:Disp() 可以么?


先测试这段,去掉PECMD命令,再看看结果....
在虚拟机里完全可以替代PECMD,且感觉屏幕动静小。呵呵,看上去这个不用转EXE了,直接可以弄个图标到任务栏,还方便了.再试一把到任务栏后的效果

快捷键果然也非凡,动静也一样很小。就采用这个动静小,免转EXE的方案了.

对了,实体机也去转一圈...看看效果....

实体机通过。
最终结果在“我的定制”栏目下 就决定选这个方案了.
AutoDisplay.bat
rem 首进桌面自适应
start WinXShell.exe -code Screen:Disp()

回复

使用道具 举报

5112#
发表于 2020-12-4 01:50:10 | 只看该作者
你写2行吧。

start WinXShell.exe -code app:call('Desktop::UpdateWallpaper')
start WinXShell.exe -code app:call('Taskbar::ChangeNotify')


继续的下一段失败

  1. rem 一键自动分辨率,首进桌面自适应
  2. start WinXShell.exe -code Screen:Disp()

  3. rem 在装显卡驱动环境下,消除循环切换用户时的桌面黑底
  4. start WinXShell.exe -code app:call('Desktop::UpdateWallpaper')
  5. start WinXShell.exe -code app:call('Taskbar::ChangeNotify')
复制代码


这个得实体机上,装上驱动后做实测的,现在太晚了,明天继续....
回复

使用道具 举报

5113#
发表于 2020-12-4 16:53:42 | 只看该作者
slore 发表于 2020-11-28 17:39
放到一个文件夹中,进PE,直接drvload 对应INF文件,比用dism /add-driver 集成到boot.wim中好多了,
所 ...

S 大 我有一个无线网卡驱动放在Program Files\Mydrive下  在pecmd.ini中  用了好几条命令都无法安装!dism安装没问题! 究竟是哪里错了呀!弄好久了!

BaiduShurufa_2020-12-4_16-30-0.png (17.77 KB, 下载次数: 106)

BaiduShurufa_2020-12-4_16-30-0.png

点评

用系统的drvload oem12.inf是什么提示?  详情 回复 发表于 2020-12-4 17:52
550
看见空格了 :)移到非空格的文件夹内试试  发表于 2020-12-4 17:21
回复

使用道具 举报

5114#
发表于 2020-12-4 17:19:50 | 只看该作者
rem 构建软件正常结束
rem call PinToTaskbar -paramlist "[[#pProgramFiles#p\WinXShell\WinXShell.exe]], '重启关机', '-ui -jcfg wxsUI\\UI_Shutdown.zip\\full.jcfg -blur 5', 'shell32.dll', 27"
rem 构建软件非正常结束 ISO只有42M,X盘也不会自动退出,工具软件无法继续工作,需要电脑重启.
call PinToTaskbar -paramlist "[[#pProgramFiles#p\WinXShell\WinXShell.exe]], '自动分辨率', '-code Screen:Disp()', 'shell32.dll', 34"

请老大看看,自动分辨率快捷键错在哪了

点评

应该是括号。。。批处理调用有影响,我回家了再确认下。  详情 回复 发表于 2020-12-4 17:51
回复

使用道具 举报

5115#
 楼主| 发表于 2020-12-4 17:51:05 | 只看该作者
550 发表于 2020-12-4 17:19
rem 构建软件正常结束
rem call PinToTaskbar -paramlist "[[#pProgramFiles#p\WinXShell\WinXShell.exe]] ...

应该是括号。。。批处理调用有影响,我回家了再确认下。
回复

使用道具 举报

5116#
 楼主| 发表于 2020-12-4 17:52:11 | 只看该作者
kuer 发表于 2020-12-4 16:53
S 大 我有一个无线网卡驱动放在Program Files\Mydrive下  在pecmd.ini中  用了好几条命令都无法安装!dis ...

用系统的drvload  oem12.inf是什么提示?

点评

没有提示 。我是这样 DRVLOAD.EXE X:\Mydrive\oem18.inf 或DEVI %ProgramFiles%\Mydrive\oem18.inf 哪里不对?  详情 回复 发表于 2020-12-4 17:58
回复

使用道具 举报

5117#
发表于 2020-12-4 17:58:39 | 只看该作者
slore 发表于 2020-12-4 17:52
用系统的drvload  oem12.inf是什么提示?

没有提示 。我是这样 DRVLOAD.EXE X:\Mydrive\oem18.inf 或DEVI %ProgramFiles%\Mydrive\oem18.inf   哪里不对?

点评

一般,成功或者失败都是有信息的。。。没有的话,就看WINDOWS/INF/setuponline.log的详细信息。  详情 回复 发表于 2020-12-4 18:10
回复

使用道具 举报

5118#
 楼主| 发表于 2020-12-4 18:10:46 | 只看该作者
kuer 发表于 2020-12-4 17:58
没有提示 。我是这样 DRVLOAD.EXE X:\Mydrive\oem18.inf 或DEVI %ProgramFiles%\Mydrive\oem18.inf   哪 ...

一般,成功或者失败都是有信息的。。。没有的话,就看WINDOWS/INF/setuponline.log的详细信息。

点评

只有这个文件setupapi.dev.log 命令那样写对吗? 两个inf 安装的是哪个inf? 麻烦S大写条命令!  详情 回复 发表于 2020-12-4 18:30
回复

使用道具 举报

5119#
发表于 2020-12-4 18:30:56 | 只看该作者
slore 发表于 2020-12-4 18:10
一般,成功或者失败都是有信息的。。。没有的话,就看WINDOWS/INF/setuponline.log的详细信息。

只有这个文件setupapi.dev.log   命令那样写对吗? 两个inf 安装的是哪个inf?  麻烦S大写条命令!

点评

打包发上来吧。分别都试试呗。不过ome的那个文件有些大。你打开看内容,有对应的驱动文件. sys = 1信息。 INF里面有2个log,一个是离线添加,一个是启动后加载,你看更新时间就知道了。  详情 回复 发表于 2020-12-4 18:35
回复

使用道具 举报

5120#
 楼主| 发表于 2020-12-4 18:35:08 | 只看该作者
kuer 发表于 2020-12-4 18:30
只有这个文件setupapi.dev.log   命令那样写对吗? 两个inf 安装的是哪个inf?  麻烦S大写条命令!

打包发上来吧。分别都试试呗。不过ome的那个文件有些大。你打开看内容,有对应的驱动文件. sys =  1信息。

INF里面有2个log,一个是离线添加,一个是启动后加载,你看更新时间就知道了。

点评

麻烦看看 谢谢了!  详情 回复 发表于 2020-12-4 19:56
回复

使用道具 举报

5121#
发表于 2020-12-4 19:48:12 | 只看该作者
本帖最后由 kuer 于 2020-12-4 19:52 编辑

好的  麻烦看看  谢谢了!
回复

使用道具 举报

5122#
发表于 2020-12-4 19:56:02 | 只看该作者
slore 发表于 2020-12-4 18:35
打包发上来吧。分别都试试呗。不过ome的那个文件有些大。你打开看内容,有对应的驱动文件. sys =  1信息 ...

麻烦看看  谢谢了!

Mydrive.7z.001.7z

500 KB, 下载次数: 1, 下载积分: 无忧币 -2

Mydrive.7z.002.7z

500 KB, 下载次数: 1, 下载积分: 无忧币 -2

Mydrive.7z.003.7z

500 KB, 下载次数: 1, 下载积分: 无忧币 -2

Mydrive.7z.004.7z

447.94 KB, 下载次数: 1, 下载积分: 无忧币 -2

点评

你这个用SmartDriver导出的驱动,感觉不全或者说多余。带来netvwifibus.INF -- VWiFi Bus driver。 另外这个是Windows10自带驱动,你到【关于】【更新】下, 网络支持现在可以支持仅添加网卡驱动,全部无线网卡  详情 回复 发表于 2020-12-4 22:57
回复

使用道具 举报

5123#
发表于 2020-12-4 20:15:48 | 只看该作者
本帖最后由 550 于 2020-12-4 20:23 编辑

昨晚调试的快捷键的命令本身没问题,就是弄到任务栏去的过程中,影响到构建程序了,一开始都闷了,未知所以然,因为把最近的代码全集中起来运行了,排查了好久才确定是这个快捷键导致构建软件罢工
另:这个挂在autodispayr.bat 依旧出现黑底,可能外部调用实现不了
  • rem 在装显卡驱动环境下,消除循环切换用户时的桌面黑底
  • start WinXShell.exe -code app:call('Desktop::UpdateWallpaper')
  • start WinXShell.exe -code app:call('Taskbar::ChangeNotify')

点评

另外构建出错了,点击 00-清理。 然后选择 挂载盘为 X盘,再点击00-清理。 不用重启计算机。  详情 回复 发表于 2020-12-4 21:34
"Z:\WimBuilder2\lib\macros\LuaLink.cmd" 括号要转义,,, Screen:Disp#{##}#  详情 回复 发表于 2020-12-4 20:21
回复

使用道具 举报

5124#
 楼主| 发表于 2020-12-4 20:21:55 | 只看该作者
550 发表于 2020-12-4 20:15
昨晚调试的快捷键的命令本身没问题,就是弄到任务栏去的过程中,影响到构建程序了,一开始都闷了,未知所以 ...

"Z:\WimBuilder2\lib\macros\LuaLink.cmd"
  1. call TextReplace "%LUALINK_FILE%" #{# "(" g
  2. call TextReplace "%LUALINK_FILE%" #}# ")" g
复制代码


括号要转义,,,
Screen:Disp#{##}#

点评

550
在PE里显示的目标也变成了#{##}#,这样导致命令失效  详情 回复 发表于 2020-12-4 20:39
回复

使用道具 举报

5125#
发表于 2020-12-4 20:39:49 | 只看该作者
本帖最后由 550 于 2020-12-4 20:42 编辑

slore 发表于 2020-12-4 20:21
"Z:\WimBuilder2\lib\macros\LuaLink.cmd"




在PE里显示的目标也变成了#{##}#,这样导致命令失效

批处理里面这样的

call PinToTaskbar -paramlist "[[#pProgramFiles#p\WinXShell\WinXShell.exe]], '自动分辨率', '-code Screen:Disp#{##}#', 'shell32.dll', 34"


点评

LuaLink的那两句你别删除。。。我只是告诉括号你需要转义。  详情 回复 发表于 2020-12-4 20:47
回复

使用道具 举报

5126#
 楼主| 发表于 2020-12-4 20:47:06 | 只看该作者
550 发表于 2020-12-4 20:39
slore 发表于 2020-12-4 20:21
"Z:\WimBuilder2\lib\macros\LuaLink.cmd"

LuaLink的那两句你别删除。。。我只是告诉括号你需要转义。

点评

550
啥都没改,仅仅把转义的部分改了,但是到了PE里,没被转成"()",还是原样 [attachimg]469743[/attachimg]  详情 回复 发表于 2020-12-4 20:55
回复

使用道具 举报

5127#
发表于 2020-12-4 20:55:04 | 只看该作者
slore 发表于 2020-12-4 20:47
LuaLink的那两句你别删除。。。我只是告诉括号你需要转义。

啥都没改,仅仅把转义的部分改了,但是到了PE里,没被转成"()",还是原样

回复

使用道具 举报

5128#
发表于 2020-12-4 20:56:59 | 只看该作者
本帖最后由 550 于 2020-12-4 21:03 编辑

哇,看见少了个注释符号 REM,或许他干扰了成功转义

“构建软件非正常结束”,前面忘了rem
加上rem 重置ISO,还是原样。没被转成()

点评

看错了。。。 "Z:\WimBuilder2\lib\macros\LuaPin.cmd" Pin的命令忘了添加转义处理了。我的Pin没有带括号的。 之前LuaLink创建快捷方式的时候遇到了括号所以处理了。 把LuaLink.cmd的那2句,添加到LuaPi  详情 回复 发表于 2020-12-4 21:33
回复

使用道具 举报

5129#
 楼主| 发表于 2020-12-4 21:33:20 | 只看该作者
本帖最后由 slore 于 2020-12-4 21:43 编辑
550 发表于 2020-12-4 20:56
哇,看见少了个注释符号 REM,或许他干扰了成功转义

“构建软件非正常结束”,前面忘了rem

看错了。。。


"Z:\WimBuilder2\lib\macros\LuaPin.cmd"

Pin的命令忘了添加转义处理了。我的Pin没有带括号的。
之前LuaLink创建快捷方式的时候遇到了括号所以处理了。

把LuaLink.cmd的那2句,添加到LuaPin.cmd中就好了。

  1. :PIN_DONE
  2. if "x%LUAPIN_FILE%"=="x" goto :EOF
  3. if not exist "%LUAPIN_FILE%" goto :EOF
  4. call TextReplace "%LUAPIN_FILE%" #{# "(" g
  5. call TextReplace "%LUAPIN_FILE%" #}# ")" g
  6. call TextReplace "%LUAPIN_FILE%" #sp "%%%%" g
  7. goto :EOF
复制代码



"Z:\WimBuilder2\lib\macros\tests\_Test_LuaPin.bat"

测试通过。

点评

550
[attachimg]469749[/attachimg] 按理也没填错,可是在PE里没被转成(),目标里显示的依旧原样  详情 回复 发表于 2020-12-4 21:56
回复

使用道具 举报

5130#
 楼主| 发表于 2020-12-4 21:34:53 | 只看该作者
550 发表于 2020-12-4 20:15
昨晚调试的快捷键的命令本身没问题,就是弄到任务栏去的过程中,影响到构建程序了,一开始都闷了,未知所以 ...

另外构建出错了,点击 00-清理。

然后选择 挂载盘为 X盘,再点击00-清理。

不用重启计算机。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-20 18:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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