无忧启动论坛

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

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

    [复制链接]
14611#
发表于 2019-11-30 01:15:10 来自手机 | 只看该作者
红毛樱木 发表于 2019-11-30 01:09
我猜的,不知道对不对。
thread开的线程还没执行完,程序就退出了,然后就over了。
你是想等thread开的 ...


我只想让7z.exe退出后LOAD脚本…
这就先要找到压缩包的位置
事情就变得诡异起来了

点评

你不去把你的7z文件和代码整体打包上来,完整重现问题。  详情 回复 发表于 2019-11-30 01:17
回复

使用道具 举报

14612#
发表于 2019-11-30 01:16:31 来自手机 | 只看该作者
红毛樱木 发表于 2019-11-30 01:09
我猜的,不知道对不对。
thread开的线程还没执行完,程序就退出了,然后就over了。
你是想等thread开的 ...

我猜是套太多东西了
回复

使用道具 举报

14613#
发表于 2019-11-30 01:17:21 来自手机 | 只看该作者
求道者 发表于 2019-11-30 01:15
我只想让7z.exe退出后LOAD脚本…
这就先要找到压缩包的位置
事情就变得诡异起来了

你不去把你的7z文件和代码整体打包上来,完整重现问题。

点评

PECMD-DLL资源.7z: https://www.lanzous.com/i7qsrmf  详情 回复 发表于 2019-11-30 02:15
我明天把pecmd清一下 就留几行看会不会出问题  详情 回复 发表于 2019-11-30 01:50
回复

使用道具 举报

14614#
发表于 2019-11-30 01:50:39 来自手机 | 只看该作者
本帖最后由 求道者 于 2019-11-30 01:52 编辑
红毛樱木 发表于 2019-11-30 01:17
你不去把你的7z文件和代码整体打包上来,完整重现问题。


我明天把pecmd清一下
就留几行看会不会出问题
再出问题就发上来好了
回复

使用道具 举报

14615#
 楼主| 发表于 2019-11-30 02:15:45 | 只看该作者
红毛樱木 发表于 2019-11-30 01:17
你不去把你的7z文件和代码整体打包上来,完整重现问题。

PECMD-DLL资源.7z:
https://www.lanzous.com/i7qsrmf
回复

使用道具 举报

14616#
发表于 2019-11-30 08:22:22 | 只看该作者
mdyblog 发表于 2019-11-29 21:38
PECMD资源内置DLL用法.7z:
https://www.lanzous.com/i7qnwkd

CALL $--ret:&&h  &&MemVar,-LoadLibrary,*#100
CALL $-- **%h%,main_,TEAM~ CALC &V=1+2~MESS 1+2=[%%&V%%]  [*%h%]@
@TEAM CALL $--ret:&&v  x,-FreeLibrary,**%h%| SET h=0


这里的&&MemVar、$--、x分别什么含义,说明书里没写。

点评

CALL $--ret:&&h  &&MemVar,-LoadLibrary,*#100 CALL $-- **%h%,main_,TEAM~ CALC &V=1+2~MESS 1+2=[%%&V%%]  [*%h%]@ @TEAM CALL $--ret:&&v  x,-FreeLibrary,**%h%| SET h=0 这  详情 回复 发表于 2019-11-30 13:26
回复

使用道具 举报

14617#
发表于 2019-11-30 10:09:17 | 只看该作者
本帖最后由 红毛樱木 于 2019-11-30 10:10 编辑





PECMD2012真香,感谢M大辛苦付出,才能达到如此效果。


点评

@mdyblog 我没折了 我PE传度盘吧……  详情 回复 发表于 2019-11-30 18:02
回复

使用道具 举报

14618#
 楼主| 发表于 2019-11-30 13:26:59 | 只看该作者
红毛樱木 发表于 2019-11-30 08:22
CALL $--ret:&&h  &&MemVar,-LoadLibrary,*#100
CALL $-- **%h%,main_,TEAM~ CALC &V=1+2~MESS 1+2=[%%& ...

CALL $--ret:&&h  &&MemVar,-LoadLibrary,*#100 CALL $-- **%h%,main_,TEAM~ CALC &V=1+2~MESS 1+2=[%%&V%%]  [*%h%]@ @TEAM CALL $--ret:&&v  x,-FreeLibrary,**%h%| SET h=0

这里的&&MemVar、$--、x分别什么含义,说明书里没写。
-----------------------
1)
&&MemVar 用来保留 DLl的内存, 否则自动释放了。 后米就不能使用还handle了。
&&MemVar 在退出 自己的范围时 自动释放内存。

2)
$ 后的 --
是为了避免后面的  **被当做开关了。 CALL $兼容旧版  **开关

3)
CALL $--ret:&&v  x,-FreeLibrary,**%h%
中的 x没有意义。 随便写的。 不起作用。
回复

使用道具 举报

14619#
发表于 2019-11-30 18:02:45 | 只看该作者
本帖最后由 求道者 于 2019-11-30 18:10 编辑
红毛樱木 发表于 2019-11-30 10:09
PECMD2012真香,感谢M大辛苦付出,才能达到如此效果。

@mdyblog 我没折了
我PE传度盘吧……
链接: https://pan.baidu.com/s/1sLTHowz9i4IIAXYerIzXiQ 提取码: pvb2 复制这段内容后打开百度网盘手机App,操作更方便哦

点评

PE 测试结果:正常(7z没执行中) [attachimg]406062[/attachimg]  详情 回复 发表于 2019-12-1 04:35
百度网盘要疯了 哥。。。  详情 回复 发表于 2019-11-30 18:17
回复

使用道具 举报

14620#
发表于 2019-11-30 18:17:00 | 只看该作者
求道者 发表于 2019-11-30 18:02
@mdyblog 我没折了
我PE传度盘吧……
链接: https://pan.baidu.com/s/1sLTHowz9i4IIAXYerIzXiQ 提取码: ...

百度网盘要疯了  哥。。。

点评

https://h.daiaji.ga:8443/送检.7z 我自己的服务器  详情 回复 发表于 2019-11-30 18:56
??? 别啊 我还有3T多的小姐姐 这下不完啊  详情 回复 发表于 2019-11-30 18:23
回复

使用道具 举报

14621#
发表于 2019-11-30 18:23:03 | 只看该作者
红毛樱木 发表于 2019-11-30 18:17
百度网盘要疯了  哥。。。

???
别啊
我还有3T多的小姐姐
这下不完啊
回复

使用道具 举报

14622#
发表于 2019-11-30 18:56:59 | 只看该作者
红毛樱木 发表于 2019-11-30 18:17
百度网盘要疯了  哥。。。

https://h.daiaji.ga:8443/送检.7z
我自己的服务器

点评

溜娃,哈哈。  详情 回复 发表于 2019-11-30 19:07
回复

使用道具 举报

14623#
发表于 2019-11-30 19:07:51 来自手机 | 只看该作者
求道者 发表于 2019-11-30 18:56
https://h.daiaji.ga:8443/送检.7z
我自己的服务器

溜娃,哈哈。

点评

所以果然还是THREAD命令有问题吧……  详情 回复 发表于 2019-11-30 20:44
速度应该还可以 走了CDN 在美国下载还有4M的速度 那种国内应该至少4M  详情 回复 发表于 2019-11-30 19:11
回复

使用道具 举报

14624#
发表于 2019-11-30 19:11:57 | 只看该作者

速度应该还可以
走了CDN
在美国下载还有4M的速度
那种国内应该至少4M
回复

使用道具 举报

14625#
发表于 2019-11-30 20:44:40 | 只看该作者

所以果然还是THREAD命令有问题吧……

点评

主要是你没重现出来BUG,让M大搞半天没看明白。 和我前面说的一样的情况, 主程序跑完了,没东西执行了,THREAD里的东西不受控制了。 代码一: 代码二:  详情 回复 发表于 2019-11-30 22:38
回复

使用道具 举报

14626#
发表于 2019-11-30 22:38:48 | 只看该作者
本帖最后由 红毛樱木 于 2019-11-30 23:23 编辑
求道者 发表于 2019-11-30 20:44
所以果然还是THREAD命令有问题吧……

主要是你没重现出来BUG,让M大搞半天没看明白。
和我前面说的一样的情况,
主程序跑完了,没东西执行了,THREAD里的东西不受控制了。

代码一:
  1. THREAD CALL TEST
  2. //CALL TEST
  3. _SUB TEST
  4.     FORX %Windir%\System32\cmd.exe,a,1,
  5.     {*
  6.         EXEC =%a%
  7.     }
  8.     MESS. A
  9. _END

复制代码



代码二:
  1. THREAD CALL TEST
  2. //CALL TEST
  3. _SUB TEST
  4.     FORX %Windir%\System32\cmd.exe,a,1,
  5.     {*
  6.         EXEC =%a%
  7.     }
  8.     MESS. A
  9. _END
  10. MESS. B
复制代码

代码一和代码二,你就明白是怎么一回事了。再试试代码三,应该是你要的效果(或者开个进程,用进程模式,就不会晕了)。


代码三:
  1. WAIT -sys -cmd CALL TEST
  2. _SUB TEST
  3.     FORX %Windir%\System32\cmd.exe,a,1,
  4.     {*
  5.         EXEC =%a%
  6.     }
  7.     MESS. A
  8. _END

复制代码


-------------------------------正好请教你一个问题:任务管理器的设备保存在哪里?一直都没找到。就是默认显示进程栏,默认显示命令行等这些设置是保存在哪里的啊?



点评

哦。 对的。 进程结束时, 会敦促 各任务马上结束。 设立了结束状态标志。 所有的等待 都会忽略。 新版加了2个功能 方法(1) THREAD -waitp -waitp 告诉系统, 进入结束状态前要等这种进程  详情 回复 发表于 2019-12-2 13:53
首先这是wepe,他一直都是这样,说不定只是特定版本win10的特性,要不就换成这个版本的任务管理器。  详情 回复 发表于 2019-11-30 23:57
回复

使用道具 举报

14627#
发表于 2019-11-30 23:53:34 | 只看该作者
本帖最后由 红毛樱木 于 2019-11-30 23:58 编辑

M大,请教个问题
PECMD内置的DEVI命令直接安装INF驱动,是用的哪个API?
SetupDiInstallDevice
是这个吗?
Nt6系统安装设备驱动,最后好像都是传递给drvinst.exe去执行的。不知道drvinst.exe又是用啥东西安装的。
最近发现devcon.exe安装驱动有一个局限性:
如果本机有两个一样的设备,用devcon.exe安装驱动的时候,由于devcon.exe还真能指定硬件ID或兼容ID,当给其中一个设备安装驱动时,另外一个一样的设备也会驱动上。
有高手研究过这块,给点路子不

点评

最后调用系统的 drvinst.exe/devcon.exe。  详情 回复 发表于 2019-12-1 04:38
回复

使用道具 举报

14628#
发表于 2019-11-30 23:57:36 来自手机 | 只看该作者
红毛樱木 发表于 2019-11-30 22:38
主要是你没重现出来BUG,让M大搞半天没看明白。
和我前面说的一样的情况,
主程序跑完了,没东西执行了 ...

首先这是wepe,他一直都是这样,说不定只是特定版本win10的特性,要不就换成这个版本的任务管理器。
回复

使用道具 举报

14629#
 楼主| 发表于 2019-12-1 04:35:58 | 只看该作者
本帖最后由 mdyblog 于 2019-12-1 08:22 编辑
求道者 发表于 2019-11-30 18:02
@mdyblog 我没折了
我PE传度盘吧……
链接: https://pan.baidu.com/s/1sLTHowz9i4IIAXYerIzXiQ 提取码: ...


PE 测试了。
可能是 PE精简 引出的问题。可能 系统启动进程PECMD 启动执行时 系统还没整好。(进入桌面后WAIT又好了)


原因:WAIT 等待 失效。
总是瞬间返回。和THREAD 无关。


这样 EXEC = 的等待 就是瞬间返回。


THREAD TEAM FORX \Program_Files.7z,Program,1,EXEC =%SystemRoot%\system32\7-zip\7z.exe x %Program% -o"%ProgramFiles%" -y|LOAD %SystemRoot%\TEST.txt


改为:
THREAD TEAM FORX \Program_Files.7z,Program,1,CALL WaitExec %SystemRoot%\system32\7-zip\7z.exe x %Program% -o"%ProgramFiles%" -y|LOAD %SystemRoot%\TEST.txt
_SUB  WaitExec
   ^EXEC --pid:&&vpid %*
   LOOP #%&vpid%<>0, TEAM WAIT 100| WAIT *%&vpid%| FIND --pid*%vpid% &vpid,
_END

---------------------------------------------------
脚本WaitExec 函数,  循环检测 进程 是否真的完毕了。


效果:



-------------------
另外, 可改为下面,以启动桌面
THREAD TEAM FORX \Program_Files.7z,Program,1,CALL WaitExec %SystemRoot%\system32\7-zip\7z.exe x %Program% -o"%ProgramFiles%" -y|THREAD LOAD %SystemRoot%\TEST.txt| EXEC  --hook Explorer




点评

需要哪些东西才能让exec的WAIT不失效呢?  详情 回复 发表于 2019-12-2 00:21
回复

使用道具 举报

14630#
 楼主| 发表于 2019-12-1 04:38:13 | 只看该作者
红毛樱木 发表于 2019-11-30 23:53
M大,请教个问题
PECMD内置的DEVI命令直接安装INF驱动,是用的哪个API?
SetupDiInstallDevice

最后调用系统的   drvinst.exe/devcon.exe。
回复

使用道具 举报

14631#
发表于 2019-12-1 21:23:51 | 只看该作者
那个PINT失败的原因是啥子啊,找到了吗,老大?

点评

PECMD https://www.lanzous.com/i7v4r5e 可以事先写入注册表 也可以在PECMD.INI 前部命令写入注册表 也可以PINT 参数控制 -k:4 PINT -k:4 %SystemRoot%\System32\Notepad.exe,锁定到任务栏  详情 回复 发表于 2019-12-6 01:34
回复

使用道具 举报

14632#
发表于 2019-12-1 22:59:35 | 只看该作者
CALL可以调用内置DLL了,
有没有办法判断内置DLL文件是否存在,比如:
IFEX %&MyName%#100|EXEDATA,MESS A
这种样式的

点评

GETF 取头2字节。 为空就判没有。  详情 回复 发表于 2019-12-2 05:46
回复

使用道具 举报

14633#
发表于 2019-12-2 00:21:39 | 只看该作者
mdyblog 发表于 2019-12-1 04:35
PE 测试了。
可能是 PE精简 引出的问题。可能 系统启动进程PECMD 启动执行时 系统还没整好。(进入桌 ...

需要哪些东西才能让exec的WAIT不失效呢?

点评

后面m解释了原因,EXEC =就是这个样子的  详情 回复 发表于 2019-12-2 01:15
回复

使用道具 举报

14634#
发表于 2019-12-2 01:15:30 来自手机 | 只看该作者
求道者 发表于 2019-12-2 00:21
需要哪些东西才能让exec的WAIT不失效呢?

后面m解释了原因,EXEC =就是这个样子的

点评

好像, PE 可能就是在原理上机制不全。MS在内部做了一些限制。 以前在某个PE上, 也出现 启动时, 这种 机制不全的问题。 进桌面就正常了。  详情 回复 发表于 2019-12-2 07:37
回复

使用道具 举报

14635#
 楼主| 发表于 2019-12-2 05:46:08 | 只看该作者
红毛樱木 发表于 2019-12-1 22:59
CALL可以调用内置DLL了,
有没有办法判断内置DLL文件是否存在,比如:
IFEX %&MyName%#100|EXEDATA,MESS  ...

GETF 取头2字节。 为空就判没有。

点评

好主意  详情 回复 发表于 2019-12-2 06:02
回复

使用道具 举报

14636#
发表于 2019-12-2 06:02:58 来自手机 | 只看该作者
mdyblog 发表于 2019-12-2 05:46
GETF 取头2字节。 为空就判没有。

好主意
回复

使用道具 举报

14637#
 楼主| 发表于 2019-12-2 07:37:59 | 只看该作者
本帖最后由 mdyblog 于 2019-12-2 07:39 编辑
红毛樱木 发表于 2019-12-2 01:15
后面m解释了原因,EXEC =就是这个样子的

好像, PE 可能就是在原理上机制不全。MS在内部做了一些限制。

以前在某个PE上, 也出现  启动时, 这种 机制不全的问题。 进桌面就正常了。目前为发现的问题, 涉及  多进程 的  进程通信  的机制 不全。

点评

看下15206#的测试,正常系统下测试的。  详情 回复 发表于 2019-12-2 08:06
回复

使用道具 举报

14638#
发表于 2019-12-2 08:06:29 来自手机 | 只看该作者
mdyblog 发表于 2019-12-2 07:37
好像, PE 可能就是在原理上机制不全。MS在内部做了一些限制。

以前在某个PE上, 也出现  启动时, 这 ...

看下15206#的测试,正常系统下测试的。

点评

15206 ??  详情 回复 发表于 2019-12-2 10:28
回复

使用道具 举报

14639#
 楼主| 发表于 2019-12-2 10:28:22 | 只看该作者
红毛樱木 发表于 2019-12-2 08:06
看下15206#的测试,正常系统下测试的。

15206  ??

点评

14634#  详情 回复 发表于 2019-12-2 11:39
回复

使用道具 举报

14640#
发表于 2019-12-2 11:39:11 来自手机 | 只看该作者
mdyblog 发表于 2019-12-2 10:28
15206  ??

14634#
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-2 03:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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