|
5#
楼主 |
发表于 2010-4-13 14:41:34
|
只看该作者
原帖由 NicTense 于 2010-4-13 14:26 发表
草帽终于被我引入歧途,开始玩弄wincmd的gui了
上次做了一个更新程序之后,已经决定放弃它了,以后只在pe里,0体积gui用它,例如这个gui,可以只加一个ini文件
其他地方不想用它了,反应太迟钝了,退出都要 ...
我只是拿老九的 修改下,真正让我做 我还做不好,只是照猫画虎!
不过 弄完了 有点问题 在WIN7上 运行不了, win7下 XP SP3 兼容模式没问题!
,PE下没问题!你看下源码 看看是那的问题:
问题解决,具体原因不知道 看 红色部分的解决方法:
_SUB SetWindows
ENVI @Button1.Enable=%bE%
ENVI @Button2.Enable=%bE%
ENVI @Radio1.Enable=%bE%
ENVI @Radio2.Enable=%bE%
ENVI @Radio3.Enable=%bE%
ENVI @Radio4.Enable=%bE%
ENVI @Radio5.Enable=%bE%
ENVI @Check1.Enable=%bE%
ENVI @Check2.Enable=%bE%
ENVI @List1.Enable=%bE%
FIND $%bE%=1,FIND $%Targe%=0,ENVI @List1.Enable=1!ENVI @List1.Enable=0
_END
_SUB SetType
FIND $%Radio1.Check%=1,ENVI Type=0
FIND $%Radio2.Check%=1,ENVI Type=1
_END
_SUB SetTarge
FIND $%Radio3.Check%=1,ENVI Targe=0
FIND $%Radio4.Check%=1,ENVI Targe=1
FIND $%Radio5.Check%=1,ENVI Targe=2
FIND $%Targe%=0,ENVI @List1.Enable=1!ENVI @List1.Enable=0
_END
_SUB Updata
EXEC =!#101 %BOOTSECT_CMD%
MESS 操作完成。@提示#OK
_END
_SUB BOOTSECT
ENVI bE=0
CALL SetWindows
ENVI Result=1
ENVI Force=
ENVI Mbr= `红色部分写成一句就没问题了, TEAM ENVI Force=|ENVI Mbr=
FIND $%Type%=0,ENVI NtBoot=/nt52!ENVI NtBoot=/nt60
FIND $%Targe%=0,FIND $%List1%=%ChoiceDrv%,TEAM ENVI Result=0|MESS 请%ChoiceDrv%。@错误#OK
FIND $%Result%=1,FIND $%Targe%=0,ENVI Volume=%List1%
FIND $%Result%=1,FIND $%Targe%=1,ENVI Volume=SYS
FIND $%Result%=1,FIND $%Targe%=2,ENVI Volume=ALL
FIND $%Result%=1,FIND $%Check1.Check%=1,ENVI Force=/Force
FIND $%Result%=1,FIND $%Check2.Check%=1,ENVI Mbr=/Mbr
FIND $%Result%=1,ENVI BOOTSECT_CMD=%NtBoot% %Volume% %Force% %Mbr%
FIND $%Result%=1,CALL Updata
ENVI bE=1
CALL SetWindows
_END
_SUB Windows1,W340H260,%WinName%,,#1
LIST List1,L12T12W100H20,%ChoiceDrv%|%AllDrive%,,%ChoiceDrv%
CHEK Check1,L128T10W200H20,/Force(强制卸除卷,必须谨慎!),,
CHEK Check2,L128T30W200H20,/MBR(重新写入 MBR ),,
GROU Group1,L12T48W308H56,启动代码
RADI Radio1,L022T68W148H24,NT52(WinXP/2K3类型),CALL SetType,1
RADI Radio2,L178T68W140H24,NT60(Win7/2K8类型),CALL SetType,,
GROU Group2,L12T116W208H100,更新目标
RADI Radio3,L024T136W184H24,DriveLetter(选择所指定的分区),CALL SetTarge,1,1
RADI Radio4,L024T160W184H24,SYS(当前系统分区主启动代码),CALL SetTarge,,1
RADI Radio5,L024T184W184H24,ALL(所有主分区的主启动代码),CALL SetTarge,,1
ITEM Button1,L240T132W68H32,执行,CALL BOOTSECT
ITEM Button2,L240T176W68H32,取消,KILL \
_END
ENVI WinName=BootSect
ENVI Type=0
ENVI Targe=0
ENVI NtBoot=/NT52
ENVI Volume=C:
ENVI ChoiceDrv=选择一个分区
ENVI Result=0
FDRV AllDrive=
CALL @Windows1
[ 本帖最后由 caomaoLBL 于 2010-4-13 15:56 编辑 ] |
|