无忧启动论坛

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

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

    [复制链接]
16591#
 楼主| 发表于 2022-4-3 17:34:50 | 只看该作者
泮安宁 发表于 2022-4-3 13:28
为什么KILL之后窗口关上了,但程序还会在后台继续运行呢,file命令循环在KILL之后还会继续执行

测试代码 打包发上来 看看

点评

已上传  详情 回复 发表于 2022-4-3 17:47
回复

使用道具 举报

16592#
发表于 2022-4-3 17:47:44 | 只看该作者
mdyblog 发表于 2022-4-3 17:34
测试代码 打包发上来 看看

已上传
TEST.7z (1.14 KB, 下载次数: 14)

点评

这么复杂的代码, 也不说说 具体怎么测试步骤(一步一步)???!!!  详情 回复 发表于 2022-4-3 18:51
回复

使用道具 举报

16593#
 楼主| 发表于 2022-4-3 18:43:22 | 只看该作者
本帖最后由 mdyblog 于 2022-4-3 18:48 编辑
527104427 发表于 2022-4-3 12:39
请教一下 ,挂载ISO时,下面返回值的含义是什么?可否算出具体挂载到哪个盘符了?

moun-vhd -r %&is ...

,&&h
是私有加载 VHD/ISO , 自动关闭. 被 杀死 会异常退出,也会自动卸载。同时,自己不卸载,别人(进程) 也 卸载不了,如系统的磁盘管理。
&&h是一 自动对象。
超出变量范围,自动卸载。
一般,工具中 用得上。
%&&h%就是 WIndow核心对象的句柄(HANDLE)。 可CloseHandle()。
[%&&h%]如:
[0x665]
参见 示例\VHD_ISO私有加载.wcs
其中 有更高级玩法。

moun-vhd      %&vhdfile%,%Mount目标路径%,,&retvhd,&&h
moun-vhd -iso %&isofile%,%Mount目标路径%,,&retvhd,&&h
%&retvhd%  返回: 磁盘号或光盘号 错误码 %Mount目标路径%, [%&retvhd%]如:
[1 0 Z:]

点评

感谢解答,非常详细!  详情 回复 发表于 2022-4-3 20:20
回复

使用道具 举报

16594#
 楼主| 发表于 2022-4-3 18:51:54 | 只看该作者

这么复杂的代码, 也不说说 具体怎么测试步骤(一步一步)???!!!

点评

我把所有文件打包上传了 运行“目标目录”里的test.exe,列表文件选择“目标目录”里的test.txt,然后点击开始复制,在进度条没有到100时,点击右下角退出按钮,程序界面关闭,但过一会还是会弹出“复制完成”窗口  详情 回复 发表于 2022-4-3 19:42
我不知道什么原因,所以就整个传上来了,抱歉 就是根据列表复制文件,在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成  详情 回复 发表于 2022-4-3 19:04
回复

使用道具 举报

16595#
发表于 2022-4-3 19:04:05 | 只看该作者
本帖最后由 泮安宁 于 2022-4-3 19:16 编辑
mdyblog 发表于 2022-4-3 18:51
这么复杂的代码, 也不说说 具体怎么测试步骤(一步一步)???!!!

我不知道什么原因,所以就整个传上来了,抱歉
就是根据列表复制文件,在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成,用任务管理器才可以结束进程

点评

在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成,用任务管理器才可以结束进程 --------------- 1: 这是正常的。 KILL \文件复制 虽然叫KILL,但 不是杀死进  详情 回复 发表于 2022-4-3 21:40
回复

使用道具 举报

16596#
发表于 2022-4-3 19:42:04 | 只看该作者
本帖最后由 泮安宁 于 2022-4-3 19:54 编辑
mdyblog 发表于 2022-4-3 18:51
这么复杂的代码, 也不说说 具体怎么测试步骤(一步一步)???!!!

我把所有文件打包上传了
运行“目标目录”里的test.exe,列表文件选择“目标目录”里的test.txt,相对路径同级目录选择“测试”目录(Windows目录的上一级)(文件和目录支持拖拽选择),然后点击开始复制,在进度条没有到100时,点击右下角退出按钮,程序界面关闭,但过一会还是会弹出“复制完成”窗口
https://www.123pan.com/s/GqX9-9g8I

点评

按红色部分改改试一下 CALL @WIN1 _SUB SetEdit2 BROW txtfile,, 请选择列表文件, txt FIND $%txtFILE%=,!ENVI @Edit1=%txtFILE% _END _SUB SetEdit3 BROW MntDir2,*%Edit3%, 请选  详情 回复 发表于 2022-4-3 20:33
回复

使用道具 举报

16597#
发表于 2022-4-3 20:43:09 | 只看该作者
527104427 发表于 2022-4-3 20:33
按红色部分改改试一下

可以了,谢谢5大
回复

使用道具 举报

16598#
 楼主| 发表于 2022-4-3 21:40:19 | 只看该作者
本帖最后由 mdyblog 于 2022-4-3 21:47 编辑
泮安宁 发表于 2022-4-3 19:04
我不知道什么原因,所以就整个传上来了,抱歉
就是根据列表复制文件,在没有把列表文件复制完的时候,点 ...

在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成,用任务管理器才可以结束进程
---------------
1:
这是正常的。
KILL \文件复制
虽然叫KILL,但 不是杀死进程
而是 “关闭”窗口。
Thread* CALL CCC
* 则, 线程管理到本窗口上。
窗口 关闭需要等待线程结束, 结束前,只是隐藏窗口,就是不显示,一直等待线程完毕。等线程 结束后,窗口关闭,继续后续指导进程结束。

2:
THREAD+ 则不等待,也不关联本窗口, 也不能访问本窗口内的  PE变量(&变量)。

3:
也可以:
KILL \文件复制 改为
KILL  *%&__PID%
这才是 杀死 本进程。 自杀了。 什么都没了
子线程立即终止。本身也不继续执行 KILL 后面的代码。而是直接终止,原地死亡。


4:
线程中检测 结束操作, 退出线程。
如上面   5 大  的代码。
也可以  定义 一个变量  SET  &bEnd=0 作为  终止标志。先 设置标志, SET bEnd=1,再  KILL \文件复制。


点评

M大,托盘气泡提醒框,有大概率的显示不出来,只能看到PECMD的图标在任务栏显示几秒。看不到消息出现。。。不知道怎么回事?  详情 回复 发表于 2022-4-4 12:43
谢谢m大耐心指导,明白了  详情 回复 发表于 2022-4-3 21:49
回复

使用道具 举报

16599#
发表于 2022-4-3 21:49:40 | 只看该作者
mdyblog 发表于 2022-4-3 21:40
在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成,用任 ...

谢谢m大耐心指导,明白了
回复

使用道具 举报

16600#
发表于 2022-4-4 12:43:20 来自手机 | 只看该作者
mdyblog 发表于 2022-4-3 21:40
在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成,用任 ...

M大,托盘气泡提醒框,有大概率的显示不出来,只能看到PECMD的图标在任务栏显示几秒。看不到消息出现。。。不知道怎么回事?

点评

TIPS -dummy [?]模拟设置 //设置或清除TIPS模拟,只需1次 ?只对win10有效 TIPS -dummy ?R*-20B*-20  详情 回复 发表于 2022-4-4 15:37
回复

使用道具 举报

16601#
发表于 2022-4-4 15:37:55 | 只看该作者
狼人72105 发表于 2022-4-4 12:43
M大,托盘气泡提醒框,有大概率的显示不出来,只能看到PECMD的图标在任务栏显示几秒。看不到消息出现。。 ...

TIPS -dummy [?]模拟设置  //设置或清除TIPS模拟,只需1次 ?只对win10有效

TIPS -dummy ?R*-20B*-20

点评

这个针对11PE根本没用。。。。  详情 回复 发表于 2022-4-4 17:53
回复

使用道具 举报

16602#
发表于 2022-4-4 17:53:55 | 只看该作者
红毛樱木 发表于 2022-4-4 15:37
TIPS -dummy [?]模拟设置  //设置或清除TIPS模拟,只需1次 ?只对win10有效

TIPS -dummy ?R*-20B*-20

这个针对11PE根本没用。。。。

点评

会不会你用的不是explorer,或者你的任务栏不正常?  详情 回复 发表于 2022-4-4 18:43
回复

使用道具 举报

16603#
发表于 2022-4-4 18:43:32 | 只看该作者
本帖最后由 红毛樱木 于 2022-4-4 18:45 编辑
狼人72105 发表于 2022-4-4 17:53
这个针对11PE根本没用。。。。

会不会你用的不是explorer,或者你的任务栏不正常?


点评

谢谢你的回复 现在好了。。。  详情 回复 发表于 2022-4-4 23:06
回复

使用道具 举报

16604#
发表于 2022-4-4 23:06:35 | 只看该作者
红毛樱木 发表于 2022-4-4 18:43
会不会你用的不是explorer,或者你的任务栏不正常?

谢谢你的回复 现在好了。。。
回复

使用道具 举报

16605#
发表于 2022-4-5 22:36:58 | 只看该作者
本帖最后由 泮安宁 于 2022-4-5 23:00 编辑

请教m大,有没有计算字符数目的命令,例如abcd数目为4
我在帮助中没有找到
抱歉,找到了

点评

STRL  详情 回复 发表于 2022-4-5 23:21
回复

使用道具 举报

16606#
 楼主| 发表于 2022-4-5 23:21:11 | 只看该作者
泮安宁 发表于 2022-4-5 22:36
请教m大,有没有计算字符数目的命令,例如abcd数目为4
我在帮助中没有找到
抱歉,找到了

STRL

点评

反馈一个问题,下面代码运行会崩溃: CALL $--qd --ret:&R Kernel32.dll,CreateFileW,$\\.\C:,#0,#3,#0,#3,#0,#0 ENVI$ &C=*12 0 CALL $--qd Kernel32.dll,DeviceIoControl,#%&R%,#2953344,#0,#0,*&C,#12,#0,#0  详情 回复 发表于 2022-4-6 13:10
好的  详情 回复 发表于 2022-4-5 23:23
回复

使用道具 举报

16607#
发表于 2022-4-5 23:23:59 | 只看该作者
回复

使用道具 举报

16608#
 楼主| 发表于 2022-4-6 17:10:50 | 只看该作者
本帖最后由 mdyblog 于 2022-4-6 17:21 编辑
527104427 发表于 2022-4-6 13:10
反馈一个问题,下面代码运行会崩溃(win7-x64):
CALL $--qd --ret:&R Kernel32.dll,CreateFileW,$\\.\ ...

CALL $--qd --ret:&R Kernel32.dll,CreateFileW,$\\.\C:,#0,#3,#0,#3,#0,#0
ENVI$ &C=*12 0
ENVI$ &n=*4 0    //返回字节数
CALL $--qd Kernel32.dll,DeviceIoControl,#%&R%,#2953344,#0,#0,*&C,#12,*&n,#0
                                                                                                                ==  非0(非空指针)
GETF &C,4#1,&P

ENVI?long &C=&&DeviceNumber:4
ENVI?long &N=&nx
MESS nx:[%&nx%]=n:[%&n?long%] DeviceNumber[%&DeviceNumber%]=C[1]:[%&C?long:~1%]=P:[%&P%]
//nx:[0xC]=n:[0xC] DeviceNumber[0x0]=C[1]:[0x0]=P:[0x00]


========================
2953344 也不说下是什么。 分析了好久 才知道是   IOCTL_STORAGE_GET_DEVICE_NUMBER

点评

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=429760&extra=page%3D1&page=1 是这里27楼的大佬发出来的代码,其实我也不懂,只是觉得能通过盘符找到对应的磁盘号  详情 回复 发表于 2022-4-6 17:45
回复

使用道具 举报

16609#
 楼主| 发表于 2022-4-7 08:44:13 | 只看该作者
527104427 发表于 2022-4-6 17:45
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=429760&extra=page%3D1&page=1

是这里27楼的大佬 ...

part -iv=9 list drv C:,&&hd
MESS [%&hd%]

点评

发现一个很奇怪的问题,下面代码挂载失败,但在等号和-r之间加个空格,moun-vhd 和 %readonly% 之间的空格去掉,却可正常运行! envi vhd="D:\doc\desktop\杂七杂八\研究\本人工具\多磁盘测试\4一主分区+一未分  详情 回复 发表于 2022-4-8 11:57
这个命令我知道的。我以为用API的方式能搞搞动态磁盘,不过貌似没戏。  详情 回复 发表于 2022-4-7 11:45
回复

使用道具 举报

16610#
发表于 2022-4-7 14:56:07 | 只看该作者
红毛樱木 发表于 2022-4-3 13:34
MOUN-VHD -iso C:%uSMV587.iso,Z:,,&v
MESS. %&v%

这个好用,感谢红毛!
回复

使用道具 举报

16611#
发表于 2022-4-7 22:46:39 | 只看该作者
请问m大,设置变量时,一个&,两个&和没有&,三种有什么区别,推荐用哪一种呢

点评

1: SET 等价于 ENVI & 2: SET &A 和 ENVI &&A 是本范围局部私有变量,没有则自动生成一个,有则原来的。 { }开启一个范围, 还有_SUB ,子脚本 也都是一个新范围。 3:SET B 和 ENVI &B, 则不跳范围,之  详情 回复 发表于 2022-4-8 12:55
做个实验就知道了: set a=xxx mess. [%a%][%&a%][%&&a%] //[xxx][xxx][xxx] 以上结果说明,写代码时为了简洁和可读性,不需要用 envi && 这种形式,换成 set 就好了,引用变量也是直接用%a%,而不需要  详情 回复 发表于 2022-4-8 12:03
回复

使用道具 举报

16612#
 楼主| 发表于 2022-4-8 12:45:42 | 只看该作者
527104427 发表于 2022-4-8 11:57
发现一个很奇怪的问题,下面代码挂载失败,但在等号和-r之间加个空格,moun-vhd 和 %readonly% 之间的空 ...

^moun-vhd %readonly% %vhd%,,,ret
---------------
加个 ^
或者 %% 和首词连载一起, 此时会首先解释相连的%%

点评

再反馈一个问题: fdir --part v=C:\bootmgr 此命令直接崩溃  详情 回复 发表于 2022-4-8 19:38
回复

使用道具 举报

16613#
 楼主| 发表于 2022-4-8 12:55:55 | 只看该作者
本帖最后由 mdyblog 于 2022-4-8 12:57 编辑
泮安宁 发表于 2022-4-7 22:46
请问m大,设置变量时,一个&,两个&和没有&,三种有什么区别,推荐用哪一种呢

1: SET 等价于 ENVI &

2: SET &A 和 ENVI &&A 是本范围局部私有变量,没有则自动生成一个,有则原来的。
{ }开启一个范围, 还有_SUB ,子脚本 也都是一个新范围。

3:SET B 和 ENVI   &B, 则不跳范围,之前定义过就用上。 否则在当前范围 自动生成一个。

4:
%&&A% 本范围的 PE变量A
%&A%  可访问 的 PE变量A,可以是上级的。


5: 有 ENVI^   ForceLocal=1
ENVI A=等于 SET A=       //自带&
ENVI  &A=等于 SET A=
ENVI  &&A=等于 SET &A=
%A%等于%&A%          //自带&

6: 未 ENVI^   ForceLocal=1
ENVI A= 不等于 SET A=     //不自带&
ENVI  &A=等于 SET A=
ENVI  &&A=等于 SET &A=
%A% 不等于 %&A%    //不自带&

点评

好的谢谢  详情 回复 发表于 2022-4-8 13:53

评分

参与人数 1无忧币 +5 收起 理由
smss + 5 很好

查看全部评分

回复

使用道具 举报

16614#
发表于 2022-4-8 13:53:29 | 只看该作者
mdyblog 发表于 2022-4-8 12:55
1: SET 等价于 ENVI &

2: SET &A 和 ENVI &&A 是本范围局部私有变量,没有则自动生成一个,有则原来 ...

好的谢谢
回复

使用道具 举报

16615#
发表于 2022-4-8 20:02:35 | 只看该作者
527104427 发表于 2022-4-8 12:03
做个实验就知道了:

set a=xxx

明白了
回复

使用道具 举报

16616#
 楼主| 发表于 2022-4-8 23:31:34 | 只看该作者
527104427 发表于 2022-4-8 19:38
再反馈一个问题:

fdir --part v=C:\bootmgr

0331

点评

请教一下,FDIR --short+ 这个加号是啥意思  详情 回复 发表于 2022-4-8 23:56
回复

使用道具 举报

16617#
发表于 2022-4-9 00:28:08 | 只看该作者
527104427 发表于 2022-4-8 23:56
请教一下,FDIR --short+  这个加号是啥意思

-short/-long输出短/长文件名(+如有)

应该就是字面意思吧

点评

长文件名 不是所有情况 都有的  详情 回复 发表于 2022-4-9 03:15
就是不明白“如有”是啥意思啊  详情 回复 发表于 2022-4-9 00:39
回复

使用道具 举报

16618#
 楼主| 发表于 2022-4-9 03:15:40 | 只看该作者
本帖最后由 mdyblog 于 2022-4-9 08:01 编辑
红毛樱木 发表于 2022-4-9 00:28
-short/-long输出短/长文件名(+如有)

应该就是字面意思吧

短文件名 不是所有情况  都有的
不好找这样的系统。 需要改设置。
-short 可能返回空串
-short+ 避免这个问题。


fsutil 8dot3name query D:
fsutil 8dot3name set D: 1
fsutil 8dot3name set D: 0

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation
==================================

fsutil 8dot3name query
//一般 2
fsutil 8dot3name set 3
FORMAT  I:  /FS:NTFS /VOL:TTT /Y /Q
MD I:\1234567890123456789.XXX\
echo.  >I:\1234567890123456789.XXX\1111.txt
FDIR  --short+   FP=I:\1234567890123456789.XXX\1111.txt
FDIR  --short     F=I:\1234567890123456789.XXX\1111.txt
MESS. FP[%FP%]  F[%F%]
//FP[I:\1234567890123456789.XXX]  F[]
DIR /X I:


//恢复 2
fsutil 8dot3name set 2

点评

这些命令全部崩溃: set ?a=WinVer;*%WinDir%\System32\msv1_0.dll mess. [%&a%] set ?a=WinVer;+%WinDir%\System32\msv1_0.dll mess. [%&a%] set ?a=WinVer;^%WinDir%\System32\msv1_0.dll mess. [%&a%  详情 回复 发表于 2022-4-9 18:15
原来如此,还真不是一两个字能说清楚的  详情 回复 发表于 2022-4-9 08:31
回复

使用道具 举报

16619#
发表于 2022-4-9 09:54:32 | 只看该作者
支持分享
回复

使用道具 举报

16620#
发表于 2022-4-9 18:56:23 | 只看该作者
请教M大,在表格中如何实现点击鼠标右键选择行?
_TABL_TEST_SCROLL_VISABLE_POPMENU.zip (944 Bytes, 下载次数: 6)

点评

TABL -color:0x00F000#0x808000#0xF0E0FF TABL2,L19T187W333H128,%&TITLE%,%&TDAT%, 0x940 //USERCTRL ENVI @TABL2.MSG=_%&WM_LBUTTONDOWN%: CALL OnLButton2 _SUB OnLButton2 ENVI @  详情 回复 发表于 2022-4-10 00:29
将 0x10040 改为 0x40  详情 回复 发表于 2022-4-9 19:49
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-31 16:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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