|
本帖最后由 datbik189 于 2019-7-17 11:25 编辑
感觉这样调用最好, 因为你不知道diskpart运行每一条命令所需的时间.
exec* &V=*diskpart.exe /s script.txt 获取回显是在diskpart 运行结束之后.
查看了一下论坛以前的记录, 向挂起的diskpart.exe发送一条命令的脚本为:
ENVI @@SENDMSG=窗口ID号;0x102;宽字符(16进制)
测试脚本通过,没问题.
先运行sel disk 0 和 运行 list partition
后运行 list volume
logs --2 * xx.log
envi^ envimode=1
thread -here -tid:&A call @cmd_win
_Sub cmd_win,h280 w400 ,cmd,kill *%cmdpid%
edit-| cmd_edit, L10 t10 h180 w380,,,0x220
item cmd_but, L20 t200 h20 w50,cmd,exec* -io -pid:cmdpid @cmd_edit=*diskpart
_end
loop #1=1,find diskpart.exe,exit loop!wait 500
wait 1000
set &V1=%cmdpid%
find --wid*@. &V
load #999*命令_find.exe &V 匹配 &V1
team mstr * &wid=<2>&V|calc -base=16 &wid=%&wid%
set. &ch=sel disk 0\nlist partition\n
load #999*命令_宽字符 &ch
forx * %&ch%,&v1,ENVI @@SENDMSG=%&WID%;0x102;0x%&V1%
wait 500
mess. %cmd_edit%
set. &ch=list volume\n
load #999*命令_宽字符 &ch
forx * %&ch%,&v1,ENVI @@SENDMSG=%&WID%;0x102;0x%&V1%
wait 50
mess. %cmd_edit%
wait *=%&A% |
|