无忧启动论坛

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

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

    [复制链接]
16201#
 楼主| 发表于 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
回复

使用道具 举报

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

使用道具 举报

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

点评

这个应该需要自己计算的  详情 回复 发表于 2021-11-22 21:35
回复

使用道具 举报

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

使用道具 举报

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


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

使用道具 举报

16206#
 楼主| 发表于 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
回复

使用道具 举报

16207#
发表于 2021-11-23 14:27:19 | 只看该作者
本帖最后由 hhh333 于 2021-11-23 14:29 编辑
mdyblog 发表于 2021-11-23 12:21
弄个 简单的测试演示环境吧。

https://cloud.189.cn/t/i2AZVf2U7Rvq (访问码:4h8d)

win10 32位内核,进入后切换到Admin就可看到我上图的环境,这个时候点右键刷新桌面,则失去桌面。
回复

使用道具 举报

16208#
发表于 2021-11-24 22:22:54 | 只看该作者
请问M大,如果我的程序代理里有一段循环,如何在关闭主程序时也同时退出这个循环体?
我制作了一个exe,始终杀不死主进程,测试时别使用wcs,请使用exe,不然会杀掉所有pecmd进程。

先运行run,再运行kill,关闭窗体后进程还在跑

  1. _SUB Me,W200H140,ME
  2. ITEM ButtonExitWin,L70T3W58H24,Kill me,TEAM ENVI @ButtonExitWin.enable=0|CALL ExitMe
  3. ITEM ButtonStart,L18T3W50H24,Run me,TEAM ENVI @ButtonStart.enable=0|CALL Loop
  4. LABE LabelText,L8T39W136H26,please

  5. _END

  6. _SUB Loop
  7. IFEX :p%&MyName%, {
  8. ENVI @LabelText=Kill me 1
  9. WAIT 1000
  10. ENVI @LabelText=Kill me 2
  11. WAIT 1000
  12. ENVI @LabelText=Kill me 3
  13. WAIT 1000
  14. CALL Loop
  15. }!TEAM EXIT _SUB|CALL ExitMe
  16. _END

  17. _SUB ExitMe
  18. //KILL \%Me%
  19. KILL %&MyName%
  20. EXIT
  21. _END

  22. //MAIN
  23. TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1

  24. CALL @Me
  25. CALL ExitMe
  26. EXIT
复制代码


killme.zip

1.17 MB, 下载次数: 0

点评

用&ExitPid变量传递退出标志,试试,如果不行就多加一个变量判断  详情 回复 发表于 2021-11-25 14:26
等我睡醒给你改个,这个我在行,经常用  详情 回复 发表于 2021-11-25 02:57
_sub Me,W200H140,ME, kill *force *%__pid%  详情 回复 发表于 2021-11-24 22:44
kill *force *%__pid%  详情 回复 发表于 2021-11-24 22:39
回复

使用道具 举报

16209#
发表于 2021-11-24 22:39:50 | 只看该作者
caocaofff 发表于 2021-11-24 22:22
请问M大,如果我的程序代理里有一段循环,如何在关闭主程序时也同时退出这个循环体?
我制作了一个exe,始 ...

kill   *force  *%__pid%

点评

好家伙,强行自杀 (我已经改写这段代码了,不用这种死循环校验方式了  详情 回复 发表于 2021-11-24 23:50
回复

使用道具 举报

16210#
发表于 2021-11-24 22:44:40 | 只看该作者
caocaofff 发表于 2021-11-24 22:22
请问M大,如果我的程序代理里有一段循环,如何在关闭主程序时也同时退出这个循环体?
我制作了一个exe,始 ...

_sub Me,W200H140,ME, kill   *force  *%__pid%
回复

使用道具 举报

16211#
发表于 2021-11-24 23:50:51 | 只看该作者
527104427 发表于 2021-11-24 22:39
kill   *force  *%__pid%

好家伙,强行自杀

(我已经改写这段代码了,不用这种死循环校验方式了
回复

使用道具 举报

16212#
发表于 2021-11-25 02:57:28 来自手机 | 只看该作者
caocaofff 发表于 2021-11-24 22:22
请问M大,如果我的程序代理里有一段循环,如何在关闭主程序时也同时退出这个循环体?
我制作了一个exe,始 ...

等我睡醒给你改个,这个我在行,经常用
回复

使用道具 举报

16213#
发表于 2021-11-25 10:35:20 | 只看该作者
红毛樱木 发表于 2021-11-14 16:38
没有背景的时候,kill explorer.exe再看看呢?

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

点评

wall以后会被explore.exe初始化还原,所以导致黑屏,虽然新版pecmd会自动锁定壁纸,但是有时候虽然锁定成功,桌面没反应过来,还是需要刷新桌面的。 建议这样流程。 启动pe的时候 logo 画布 exec explore.exe e  详情 回复 发表于 2021-11-25 12:10
回复

使用道具 举报

16214#
发表于 2021-11-25 12:10:37 来自手机 | 只看该作者
xiaojinglf 发表于 2021-11-25 10:35
kill会黑一次。去年我就发现这个问题,发现可以wall后再disp一下也可以,但是最后研究一下,连续使用两次 ...

wall以后会被explore.exe初始化还原,所以导致黑屏,虽然新版pecmd会自动锁定壁纸,但是有时候虽然锁定成功,桌面没反应过来,还是需要刷新桌面的。
建议这样流程。
启动pe的时候
logo 画布
exec explore.exe
exec -wait winpeshl.exe
你的代码
wall xxx.bmp
kill explore.exe
shel explore.exe
回复

使用道具 举报

16215#
发表于 2021-11-25 14:26:10 | 只看该作者
caocaofff 发表于 2021-11-24 22:22
请问M大,如果我的程序代理里有一段循环,如何在关闭主程序时也同时退出这个循环体?
我制作了一个exe,始 ...
  1. _SUB Me,W200H140,ME
  2.     ITEM ButtonExitWin,L70T3W58H24,Kill me,TEAM ENVI @ButtonExitWin.enable=0|CALL ExitMe
  3.     ITEM ButtonStart,L18T3W50H24,Run me,TEAM ENVI @ButtonStart.enable=0|CALL Loop
  4.     LABE LabelText,L8T39W136H26,please
  5. _END

  6. _SUB Loop
  7.     FIND $%&ExitPid%=Yes,EXIT
  8.     IFEX :p%&MyName%,
  9.     {
  10.         ENVI @LabelText=Kill me 1
  11.         WAIT 1000
  12.         ENVI @LabelText=Kill me 2
  13.         WAIT 1000
  14.         ENVI @LabelText=Kill me 3
  15.         WAIT 1000
  16.         CALL Loop
  17.     }!  
  18.     {
  19.         EXIT _SUB
  20.         CALL ExitMe
  21.     }
  22. _END

  23. _SUB ExitMe
  24.     //KILL \%Me%
  25.     ENVI &ExitPid=Yes
  26.     KILL %&MyName%
  27.     EXIT
  28. _END

  29. //MAIN
  30. TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1

  31. ENVI &ExitPid=No
  32. CALL @Me
  33. CALL ExitMe
  34. EXIT
复制代码
用&ExitPid变量传递退出标志,试试,如果不行就多加一个变量判断

点评

确实是一种解决办法  详情 回复 发表于 2021-11-25 15:47
回复

使用道具 举报

16216#
发表于 2021-11-25 15:05:15 | 只看该作者
有网友反馈了这样一个问题:321以后的PECMD安装无线不成功,但不作任何改变换321或之前的就可以安装成功
我仔细看了一下,核心语句是DEVI *norescan $%1,,%Temp%
其中$%1是无线CAB包的名称,我怀疑是不是*norescan这个参数引起无线安装不成功,321及其之前的版本这个参数没起作用,请查实,也正在叫网友测试。

点评

网友已反馈,新版去掉*noresan也安装不了,只有发log来诊断了  详情 回复 发表于 2021-11-25 22:07
搞个LOGS上来看看,更直观一些。  详情 回复 发表于 2021-11-25 15:55
回复

使用道具 举报

16217#
发表于 2021-11-25 15:47:12 | 只看该作者
红毛樱木 发表于 2021-11-25 14:26
用&ExitPid变量传递退出标志,试试,如果不行就多加一个变量判断

确实是一种解决办法
回复

使用道具 举报

16218#
发表于 2021-11-25 15:55:42 | 只看该作者
hhh333 发表于 2021-11-25 15:05
有网友反馈了这样一个问题:321以后的PECMD安装无线不成功,但不作任何改变换321或之前的就可以安装成功
...

搞个LOGS上来看看,更直观一些。

点评

回了,在楼上,麻烦看一下  详情 回复 发表于 2021-11-26 06:49
你先到我发布的PE的帖子里看,有inf下的log  详情 回复 发表于 2021-11-25 16:20
回复

使用道具 举报

16219#
发表于 2021-11-25 16:20:04 | 只看该作者
红毛樱木 发表于 2021-11-25 15:55
搞个LOGS上来看看,更直观一些。

你先到我发布的PE的帖子里看,有inf下的log
回复

使用道具 举报

16220#
发表于 2021-11-25 22:07:33 | 只看该作者
hhh333 发表于 2021-11-25 15:05
有网友反馈了这样一个问题:321以后的PECMD安装无线不成功,但不作任何改变换321或之前的就可以安装成功
...

网友已反馈,新版去掉*noresan也安装不了,只有发log来诊断了

点评

CAB转为7z试试 CAB 加 索引 也 试试。  详情 回复 发表于 2021-11-27 09:26
回复

使用道具 举报

16221#
发表于 2021-11-26 06:39:49 | 只看该作者
本帖最后由 hhh333 于 2021-11-26 10:33 编辑

J.7z (7.79 KB, 下载次数: 4) 这是只换PECMD不换任何东西的安装过程LOG

G.7z (6.41 KB, 下载次数: 2) 这是setupapi.dev.log
回复

使用道具 举报

16222#
发表于 2021-11-26 06:49:21 | 只看该作者
红毛樱木 发表于 2021-11-25 15:55
搞个LOGS上来看看,更直观一些。

回了,在楼上,麻烦看一下
回复

使用道具 举报

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

调试了下。
原因是没有 开动 PECMD 守护。
admin.ini (48行)
SHEL -user %WinDir%\explorer.exe

不能注释


对应地,
su.ini 切换回来, 要清除相应的 设置:

`切回到System
_SUB SystemBack
//清除 user shell 设置
SHEL -user
`FIND explorer.exe,KILL -force -explorer EXPLORER.EXE
`EXEC !CMD /C TASKKILL /F /FI "USERNAME eq Administrator" /IM pecmd.exe &NSudoC.exe -U:S -P:E %Windir%\explorer.exe &NSudoC.exe -U:S -P:E PECMD.EXE MAIN* --user %Windir%\System32\Admin.ini
EXEC !TSCON 1
_END



点评

感谢指导,现在有几个点算是明确了: 1、用-user或main启动的脚本,需要显式的SHEL来启动explorer才能进行守护 2、shel -user可以清除原来的,这个以前确实不会用 现在还有一个小毛病,第一次切admin由于有一个  详情 回复 发表于 2021-11-29 11:09
回复

使用道具 举报

16224#
 楼主| 发表于 2021-11-27 09:26:52 | 只看该作者
本帖最后由 mdyblog 于 2021-11-27 09:30 编辑
hhh333 发表于 2021-11-25 22:07
网友已反馈,新版去掉*noresan也安装不了,只有发log来诊断了

加调试开关  *dbg:7

CAB转为7z试试
CAB 加 索引 也  试试。对比 下

点评

将第一句改写为:LOGS *dbg:7 --lock:123 --t=1 --2 %windir%\PECMD-net.LOG 是吗?  详情 回复 发表于 2021-11-29 09:55
回复

使用道具 举报

16225#
发表于 2021-11-29 09:55:05 | 只看该作者
mdyblog 发表于 2021-11-27 09:26
加调试开关  *dbg:7

CAB转为7z试试

将第一句改写为:LOGS *dbg:7 --lock:123 --t=1 --2 %windir%\PECMD-net.LOG
是吗?

点评

devi *dbg:7 ....  详情 回复 发表于 2021-11-29 10:25
回复

使用道具 举报

16226#
 楼主| 发表于 2021-11-29 10:25:43 | 只看该作者
hhh333 发表于 2021-11-29 09:55
将第一句改写为:LOGS *dbg:7 --lock:123 --t=1 --2 %windir%\PECMD-net.LOG
是吗?

devi *dbg:7 ....

点评

cab包不能安装是不是后来也改成了按需解压,而我的驱动包有些网卡是共享根目录底下的一个cat文件的,造成了这个问题。而老的版本由于是全解压的所以没有这个问题。  详情 回复 发表于 2021-12-12 16:37
7z的可以成功安装:这是加了dbg参数的log  详情 回复 发表于 2021-11-29 15:35
回复

使用道具 举报

16227#
发表于 2021-11-29 11:09:32 | 只看该作者
mdyblog 发表于 2021-11-26 23:26
调试了下。
原因是没有 开动 PECMD 守护。
admin.ini (48行)

感谢指导,现在有几个点算是明确了:
1、用-user或main启动的脚本,需要显式的SHEL来启动explorer才能进行守护
2、shel -user可以清除原来的,这个以前确实不会用

现在还有一个小毛病,第一次切admin由于有一个显式的SHEL -user explorer反正会出现自动打开一个资源管理器,不知这个要如何避免

点评

现在还有一个小毛病,第一次切admin由于有一个显式的SHEL -user explorer反正会出现自动打开一个资源管理器,不知这个要如何避免 ------------ 先KILL explorer 试试。 KILL explorer SHEL -user explorer  详情 回复 发表于 2021-11-29 12:23
回复

使用道具 举报

16228#
 楼主| 发表于 2021-11-29 12:23:22 | 只看该作者
hhh333 发表于 2021-11-29 11:09
感谢指导,现在有几个点算是明确了:
1、用-user或main启动的脚本,需要显式的SHEL来启动explorer才能进 ...

现在还有一个小毛病,第一次切admin由于有一个显式的SHEL -user explorer反正会出现自动打开一个资源管理器,不知这个要如何避免
------------
先KILL explorer 试试。
KILL explorer
SHEL -user explorer

点评

经测试,在win7/8中,admin.ini中在shel之前不kill explorer也不会打开explorer窗口,但无论是在admin.ini还是在进桌面以后kill explorer都会杀掉所有explorer,由于是在admin用户下,这个时候守护的是admin的explor  详情 回复 发表于 2021-11-29 22:54
在实测中发现KILL -force -explorer EXPLORER.EXE比较容易出现explorer错误或内存不能为读错误(记不清了),看直接用kill explorer怎么样还没测试  详情 回复 发表于 2021-11-29 15:23
回复

使用道具 举报

16229#
发表于 2021-11-29 15:23:43 | 只看该作者
mdyblog 发表于 2021-11-29 12:23
现在还有一个小毛病,第一次切admin由于有一个显式的SHEL -user explorer反正会出现自动打开一个资源管理 ...

在实测中发现KILL -force -explorer EXPLORER.EXE比较容易出现explorer错误或内存不能为读错误(记不清了),看直接用kill explorer怎么样还没测试
回复

使用道具 举报

16230#
发表于 2021-11-29 15:35:55 | 只看该作者

7z的可以成功安装:这是加了dbg参数的log 1.7z (10.39 KB, 下载次数: 0)
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-10-2 10:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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