无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: mdyblog
打印 上一主题 下一主题

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
16171#
发表于 2021-9-3 13:10:14 来自手机 | 只看该作者
wjgyz740526 发表于 2021-9-3 11:49
惭愧,遇到新问题,继续求教

_SUB Windows1,W370H200,,,,0

命令写到一个_sub函数里call,这里有逗号,格式冲突

点评

谢谢红大 我改成这样,窗口正常了,写入数据还是不正常? Windows1 _SUB Windows1,W370H200,,//MESS 程序即将关闭@确定#OK,,0 LABE Label1,L90T35W300H70,安装Windows PE 维护平台...\n\n\n请指定要安装的  详情 回复 发表于 2021-9-3 17:48
回复

使用道具 举报

16172#
发表于 2021-9-3 17:48:49 | 只看该作者
本帖最后由 wjgyz740526 于 2021-9-3 17:54 编辑
红毛樱木 发表于 2021-9-3 13:10
命令写到一个_sub函数里call,这里有逗号,格式冲突

谢谢红大

我改成这样,窗口正常了,写入数据还是不正常?

Windows1
_SUB Windows1,W370H200,,//MESS 程序即将关闭@确定#OK,,0
LABE Label1,L90T35W300H70,安装Windows PE 维护平台...\n\n\n请指定要安装的目标分区:      盘
IMAG Image1,L18T37W60H60,C:\Windows\system32\shell32.dll#40
LIST List1,L230T68W35H32,C|D|E|F,,  
ITEM Button1,L150T120W90H30,取消,TEAM MESS= 程序即将关闭@确定#OK*3000 | KILL \%Windows1%,,
ITEM Button2,L255T120W90H30,确定,call y
_END

_SUB y
MESS= 你选择将PE安装到%List1%,按确定之后开始安装! @确定#OK*3000
WRIT D:\PE安装\y.txt,1,%List1%
KILL \%Windows1%
_END
程序跑起来之后,写入到:\PE安装\y.txt的应该是选择的项,%List1%的值,但是,写的是%List1%这一串字符??



求教,谢谢

点评

没仔细看说明书吧。 修改位置: 前导"$"表示将"文件数据"内的变量展开;  详情 回复 发表于 2021-9-3 18:19
回复

使用道具 举报

16173#
发表于 2021-9-3 18:19:43 | 只看该作者
本帖最后由 红毛樱木 于 2021-9-3 18:22 编辑
wjgyz740526 发表于 2021-9-3 17:48
谢谢红大

我改成这样,窗口正常了,写入数据还是不正常?

没仔细看说明书吧。
修改位置: 前导"$"表示将"文件数据"内的变量展开;
WRIT D:\PE安装\y.txt,$1,%List1%

点评

汗,看到了这个,理解错了 谢谢你!  详情 回复 发表于 2021-9-3 19:21
回复

使用道具 举报

16174#
发表于 2021-9-3 19:21:15 来自手机 | 只看该作者
红毛樱木 发表于 2021-9-3 18:19
没仔细看说明书吧。
修改位置: 前导"$"表示将"文件数据"内的变量展开;
WRIT D:\PE安装\y.txt,$1,%List ...

汗,看到了这个,理解错了

谢谢你!
回复

使用道具 举报

16175#
发表于 2021-9-6 16:23:10 | 只看该作者
有人反映更换新版pecmd以后影响了无线的安装,同样代码,换回老版本PECMD没有问题。驱动是CAB包
回复

使用道具 举报

16176#
发表于 2021-9-10 17:55:38 | 只看该作者
527104427 发表于 2021-9-1 11:43
试了一下,这样可以:
@echo off
for /f "tokens=*" %%i in ('"PECMD原始_cli TEAM~ mess= 当前系统引 ...

借楼请教5大:
知道进程名,向窗口发送一组按键,怎么做?
回复

使用道具 举报

16177#
发表于 2021-9-10 18:07:14 | 只看该作者
feiyike 发表于 2021-9-10 17:55
借楼请教5大:
知道进程名,向窗口发送一组按键,怎么做?

ENVI @窗口和控件名.POSTMSG=[:变量名;]消息号[;参数wPrm[;参数lPrm]]     //异步发送消息
ENVI @窗口和控件名.SENDMSG=[:变量名;]消息号[;参数wPrm[;参数lPrm]]     //同步发送消息
ENVI @@POSTMSG=[:变量名;]窗口号;消息号[;参数wPrm[;参数lPrm]]          //异步发送消息
ENVI @@SENDMSG=[:变量名;]窗口号;消息号[;参数wPrm[;参数lPrm]]          //同步发送消息


----------------------------------------------------------------------
ENVI @@POSTMSG=1183014;0x0100;0x4E;
ENVI @@POSTMSG=1183014;0x0101;0x4E;
-----------------------------------------------------------------

WM_KEYDOWN
0x0100
按下一个非系统键(按下键时未按下“ALT”键)
WM_KEYUP
0x0101
释放一个非系统键

回复

使用道具 举报

16178#
发表于 2021-11-7 12:45:16 | 只看该作者
赞一个!
回复

使用道具 举报

16179#
发表于 2021-11-12 12:25:27 | 只看该作者
M大偷偷地更新了?
回复

使用道具 举报

16180#
发表于 2021-11-12 12:52:02 | 只看该作者
M大,我发现用指令 PART -devidx 获取不到NvME硬盘和IDE硬盘的序列号,指令如下:
  1.         PART list disk,&AllDISK_TEST
  2.         FORX * %&AllDISK_TEST%,&DiskNum_TEST,
  3.         {*
  4.                 PART -devidx list disk %&DiskNum_TEST%,&DiskInf_TEST
  5.                 MESS %&DiskInf_TEST%                //媒体类型        总线类型        硬盘型号        硬盘序列号
  6.         }
复制代码

是我的用法不对,还是PECMD需要添加相应的支持?

点评

我测试IDE可以,NVME不行  发表于 2021-11-12 19:49
回复

使用道具 举报

16181#
发表于 2021-11-12 16:32:29 | 只看该作者
我也有个问题,譬如我从系统中提取的驱动,多数是多个驱动共用一个cat,一般放上一级目录,在inf中就指明如:CatalogFile=..\Wireless.cat,放CAB包中安装时没有任何问题,如果放7z中,只按需解压相应目录则根目录下的cat会如何处理,是不是会造成安装失败

点评

这种估计不会解压,只解压当前目录,上级目录如果还管的话代码量太大了。 其实你每个INF所在地目录放一起,打包7z到时候也不会增加任何体积的。  详情 回复 发表于 2021-11-12 19:51
回复

使用道具 举报

16182#
发表于 2021-11-12 16:41:33 | 只看该作者
本帖最后由 Anson4 于 2021-11-12 17:21 编辑

再请教M大几个问题:
1. 最新版本的PECMD支不支持7z压缩包的解压缩?
就是类似于解压缩CAB压缩包的操作:DEVI *extract "%Windir%\Temp\ImDisk.cab",,%Windir%\Temp\ImDisk\
2. PECMD内置的ImDisk(就是那个#29号InData资源)可否自行定制?
我的设想是这样的:先自行定制这个内置包,然后在需要的时候通过某个指令触发其进行安装。
之所以有这个想法,是因为PECMD触发的ImDisk安装是静默而且无出错提示的,而我自行用 rundll32.exe setupapi.dll,InstallHinfSection 来进行安装时,是会出现一个出错确认对话框的(此时已经安装成功)。
3. PECMD支持压缩CAB和7z压缩包吗?
4. PECMD用什么指令压缩VHD/VHDX?

点评

DEVI *extract 支持Cab 其它 请用第3方程序(7z)  详情 回复 发表于 2021-11-12 22:35
回复

使用道具 举报

16183#
发表于 2021-11-12 19:51:15 | 只看该作者
hhh333 发表于 2021-11-12 16:32
我也有个问题,譬如我从系统中提取的驱动,多数是多个驱动共用一个cat,一般放上一级目录,在inf中就指明如 ...

这种估计不会解压,只解压当前目录,上级目录如果还管的话代码量太大了。
其实你每个INF所在地目录放一起,打包7z到时候也不会增加任何体积的。
回复

使用道具 举报

16184#
 楼主| 发表于 2021-11-12 22:30:03 | 只看该作者
ghosblue 发表于 2021-7-17 03:33
MOUN-udm   -udmid:9    \\.\PhysicalDrive* f 挂载的驱动器是只读的,如何改成读写的?

-w
可写
回复

使用道具 举报

16185#
 楼主| 发表于 2021-11-12 22:35:36 | 只看该作者
Anson4 发表于 2021-11-12 16:41
再请教M大几个问题:
1. 最新版本的PECMD支不支持7z压缩包的解压缩?
就是类似于解压缩CAB压缩包的操作: ...

DEVI *extract 支持Cab
其它 请用第3方程序(7z)
回复

使用道具 举报

16186#
 楼主| 发表于 2021-11-12 22:48:35 | 只看该作者
本帖最后由 mdyblog 于 2021-11-12 22:50 编辑
weconty 发表于 2021-8-6 02:02
如何获取浏览器窗口的 PID 或 WID
%WinDir%\explorer.exe /n,%UserName%\Documents
EXEC -pid:&&PID %Win ...

explorer进程特殊,不一样。
系统只保留一个 进程。
后面创建 后,自动退出。
几后面的那个PID对应的进程实际已经结束了。


find 看看进程号多少。
也可看看  find 该PID号 是否有效切还为explorer
回复

使用道具 举报

16187#
发表于 2021-11-14 15:24:10 | 只看该作者
M大能优化一下WALL命令吗,部分比较精简的PE需要用两次WALL才能设置壁纸成功,这个问题是偶发性的
回复

使用道具 举报

16188#
发表于 2021-11-14 16:38:49 来自手机 | 只看该作者
826773297 发表于 2021-11-14 15:24
M大能优化一下WALL命令吗,部分比较精简的PE需要用两次WALL才能设置壁纸成功,这个问题是偶发性的

没有背景的时候,kill explorer.exe再看看呢?

点评

kill会黑一次。去年我就发现这个问题,发现可以wall后再disp一下也可以,但是最后研究一下,连续使用两次wall是目前最佳解决方法。对于用户来说是无感的  详情 回复 发表于 2021-11-25 10:35
回复

使用道具 举报

16189#
发表于 2021-11-16 06:59:41 | 只看该作者
我看到“单文件制作工具”源码 by 527104427,其中一行关于复选框的:
  1. CHEK &CN,L416T338W108H30,等待所有子进程,TEAM CALL PingPangCheck &CN &CC| CALL @--popmenu SuperWait,-1
复制代码
请问如何修改为默认不勾选?谢谢!
回复

使用道具 举报

16190#
发表于 2021-11-16 11:43:55 | 只看该作者
2010hook 发表于 2021-11-16 06:59
我看到“单文件制作工具”源码 by 527104427,其中一行关于复选框的:
请问如何修改为默认不勾选?谢谢!

去掉最后的“-1”

点评

修改 CALL EnCheck &CN 为 CALL DisCheck &CN 实现了  发表于 2021-11-16 15:47
回复

使用道具 举报

16191#
发表于 2021-11-16 16:01:47 | 只看该作者
2010hook 发表于 2021-11-16 06:59
我看到“单文件制作工具”源码 by 527104427,其中一行关于复选框的:
请问如何修改为默认不勾选?谢谢!

求源码
回复

使用道具 举报

16192#
发表于 2021-11-16 22:37:13 | 只看该作者
希望能够解决7z包中各个子目录共用根目录(或上一级)中cat文件的快速安装问题

点评

CAT复制到各个子目录,不会使 7z文件变大,实际只保存一份的。  详情 回复 发表于 2021-11-20 23:08
回复

使用道具 举报

16193#
发表于 2021-11-17 19:29:50 | 只看该作者
我再提一个问题,大致情况是这样的,如下图:

可见有两个explorer进程,一个是PE系统在启动阶段,由pecmd Main pecmd.ini和SHEL创建的;
另一个是切换到admin时由PECMD.EXE MAIN -user %SystemRoot%\System32\admin.ini语句创立;
因此会出现4个pecmd.exe(有两个是任务栏管弹出的),也即两个PECMD守护两个explorer,一个属于SYSTEM一个属于Administrator。原则上来说,在admini用户下kill explorer应该杀的属于admin的explorer,事实上也确实如此(kill后,system的explorer进程还是存在的),但是admin的pecmd并没有进行守护,桌面就关了,要在任务管理器中手动运行explorer桌面才出来。大概是发现系统中有explorer进程,也不管他是谁的,PECMD就不给与重启,这个显然是不对的,因为当前用户没有explorer,当前用户没有桌面。

又想用find explorer来发现进程,找了半天没发现有什么参数能够指定找属于某个用户的进程,想通过查找没有属于admin的explorer就启动explorer的路线也进行不下去。

因此,目前有两个问题:
1、pecmd应该分用户守护explorer
2、find进程查找功能,应该提供查找属于某用户的进程的选项或开关

点评

好的。  详情 回复 发表于 2021-11-20 23:08
回复

使用道具 举报

16194#
 楼主| 发表于 2021-11-20 23:08:36 | 只看该作者
hhh333 发表于 2021-11-16 22:37
希望能够解决7z包中各个子目录共用根目录(或上一级)中cat文件的快速安装问题

CAT复制到各个子目录,不会使 7z文件变大,实际只保存一份的。
回复

使用道具 举报

16195#
 楼主| 发表于 2021-11-20 23:08:48 | 只看该作者
hhh333 发表于 2021-11-17 19:29
我再提一个问题,大致情况是这样的,如下图:

可见有两个explorer进程,一个是PE系统在启动阶段,由pecm ...

好的。

点评

我前面的描述还有个小错误,上图中发一个刷新桌面即kill explorer,实际上是两个explorer都kill了,只是system用户的pecmd进行了守护重启了属于它的explorer但Admin用户的没有被守护,因此admin用户没有桌面。因此可  详情 回复 发表于 2021-11-21 08:47
回复

使用道具 举报

16196#
发表于 2021-11-21 08:47:02 | 只看该作者

我前面的描述还有个小错误,上图中发一个刷新桌面即kill explorer,实际上是两个explorer都kill了,只是system用户的pecmd进行了守护重启了属于它的explorer但Admin用户的没有被守护,因此admin用户没有桌面。因此可能还得配套kill命令,应该象taskkill一样可以杀指定用户的进程,或当前用户的进程。

点评

调试了下。 原因是没有 开动 PECMD 守护。 admin.ini (48行) SHEL -user %WinDir%\explorer.exe 不能注释 对应地, su.ini 切换回来, 要清除相应的 设置: `切回到System _SUB SystemBack //清  详情 回复 发表于 2021-11-26 23:26
弄个 简单的测试演示环境吧。  详情 回复 发表于 2021-11-23 12:21
回复

使用道具 举报

16197#
发表于 2021-11-22 19:19:45 | 只看该作者
M大,反馈一个问题,在dpi自适应的PE里,启动explorer前和启动explorer后SCRN命令获取的屏幕宽高不一致,有办法修复一下吗,在这中间没有进行调整分辨率操作,缩放比都是一样的,区别在于启动了explorer
回复

使用道具 举报

16198#
发表于 2021-11-22 21:35:44 来自手机 | 只看该作者
本帖最后由 红毛樱木 于 2021-11-23 02:21 编辑
826773297 发表于 2021-11-22 19:19
M大,反馈一个问题,在dpi自适应的PE里,启动explorer前和启动explorer后SCRN命令获取的屏幕宽高不一致,有 ...

这个应该需要自己计算的--------------------------
或者单独开一个进程去获取试试。

PECMD.EXE刚启动的时候,可能系统的DPI还没来得及自动处理,这时候就是旧的初始的DPI。
系统初始化完成后(可能explorer加载后),可能DPI自动响应最佳值,这时候DPI可能其实已经变了,用SCRN可能需要自己判断DPI拉伸情况再计算了。

这种情况下用
DISP <?|?*>  [=显示器号] 变量名       //查询当前或全部可能配置,多行,行内TAB分隔
试试呢?

点评

单独开一个pecmd获取正常  详情 回复 发表于 2021-11-23 07:58
回复

使用道具 举报

16199#
发表于 2021-11-23 07:58:29 来自手机 | 只看该作者
红毛樱木 发表于 2021-11-22 21:35
这个应该需要自己计算的--------------------------
或者单独开一个进程去获取试试。


单独开一个pecmd获取正常
回复

使用道具 举报

16200#
 楼主| 发表于 2021-11-23 12:21:19 | 只看该作者
hhh333 发表于 2021-11-21 08:47
我前面的描述还有个小错误,上图中发一个刷新桌面即kill explorer,实际上是两个explorer都kill了,只是s ...

弄个 简单的测试演示环境吧。

点评

https://cloud.189.cn/t/i2AZVf2U7Rvq (访问码:4h8d)  详情 回复 发表于 2021-11-23 14:27
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 03:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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