|
本帖最后由 ling3882688 于 2015-9-1 13:38 编辑
XP我刚刚也试了,下面的代码也不行。
_SUB CheckHybridMBR
SET &hd=%~2
CALC -err=-1 &hd=%&hd%
SET &ret=INVALID
SET $%&hd%>=0,
{ SET ret=NO
//PART -iv=10 LIST DISK %&hd%,&&MBR //新版才可以简化写
PART LIST DISK %&hd%,&&V
MSTR &&MBR=<10>%&V%
SET ret=%&MBR%
FIND $%&MBR%=MBR,
{ SET &nm=\\.\PhysicalDrive%&hd%
TEAM GETF %nm%,0x1C2#1,&&V| FIND $%&V%=0xEE, SET ret=HMBR
}
}
ENVI-ret %1=%&ret%
_END
TEAM CheckHybridMBR &&MBR 0|FIND $%&MBR%=HMBR,MESS 1111!MESS 2222
//按理说先执行上面这句才执行CALL Check,但是只有把CALL Check注释掉上一句的MESS才可以正常显示。到底是咋回事,整疯了!
//如果在这里加一句 WAIT 1 那么上一句的mess能正常显示,但是子过程Check里的mess还是不显示。
CALL Check
_SUB Check
TEAM CheckHybridMBR &&MBR 0|FIND $%&MBR%=HMBR,MESS 1111!MESS 2222
_END |
|