无忧启动论坛

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

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

[复制链接]
31#
发表于 2004-5-12 16:50:18 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

IF RecWins > -1 THEN
IF ContObj <> 4 THEN
II = 0
IF ContObj = 11 THEN
''IF Menu(XMenu, 0).Enabled THEN
XMenuHI = Menu(XMenu, 0).Enabled
IF XMenuHI > SumMenu(XMenu) THEN XMenuHI = SumMenu(XMenu)
MW = (SumMenu(XMenu) - 1) \ XMenuHI + 1
GotFocus II, RKMenuX + 2, RKMenuY - 3, MenuWidth * MW - 4, XMenuHI * 14 + 4, Mouse, Win
IF II AND (Mouse.Y <> XRMouseY OR Mouse.X <> XRMouseX) AND Mouse.Y > Win.Y + RKMenuY THEN
XMINX = ((Mouse.X - Win.X - RKMenuX - 1) \ MenuWidth) * XMenuHI + (Mouse.Y - Win.Y - RKMenuY - 1) \ 14 + 1
IF XMINX > SumMenu(XMenu) THEN XMINX = XRMINX
XRMouseY = Mouse.Y: XRMouseX = Mouse.X
END IF
IF II = 0 THEN IF Mouse.K = 1 THEN XMINX = 0
FOR A = 0 TO SumMenu(XMenu)
IF KeyCode = 336 THEN XMINX = XMINX + 1: IF XMINX > SumMenu(XMenu) THEN XMINX = 1
IF KeyCode = 328 THEN XMINX = XMINX - 1: IF XMINX < 1 THEN XMINX = SumMenu(XMenu)
IF MenuCap(XMenu, XMINX) <> "" THEN EXIT FOR
NEXT
IF KeyCode < 256 THEN
FOR A = 1 TO SumMenu(XMenu)
Cap$ = MenuCap(XMenu, A): L = INSTR(Cap$, "(")
Cap$ = UCASE$(MID$(Cap$, L + 1, 1))
IF Cap$ = UCASE$(CHR$(KeyCode)) THEN Mouse.K = 0: Mouse.RK = 1: XMINX = A: II = -1: EXIT FOR
NEXT
END IF
IF KeyCode = 13 THEN Mouse.K = 0: Mouse.RK = 1: II = -1
IF XMINX <> XRMINX THEN PrintMenu XMenu, XRMINX, XMINX, 4, Menu(), MenuCap(), SumMenu(), Win, RKSMenuX, RKSMenuY, RKMenuX, RKMenuY, MenuWidth: XRMINX = XMINX
IF Mouse.K = 0 AND Mouse.RK = 1 AND Menu(XMenu, XMINX).Enabled AND MenuCap(XMenu, XMINX) <> "" THEN IF XMINX > 0 THEN XPUT = 2 ELSE XPUT = 1
''END IF
IF (Mouse.K = 0 AND Mouse.RK > 0 OR RKSMenuX = -1 AND Mouse.K = 2 AND Mouse.RK = 0) AND II = 0 THEN XPUT = 1
PR = 0
IF KeyCode = 27 THEN XPUT = 1
IF RKSMenuX <> -1 THEN
IF KeyCode = 333 THEN XMenu = XMenu + 1: PR = -1: IF XMenu > SumMMenu THEN XMenu = 0
IF KeyCode = 331 THEN XMenu = XMenu - 1: PR = -1: IF XMenu < 0 THEN XMenu = SumMMenu
END IF
IF PR THEN XPUT = 2: XMINX = 0: ContObj = 10: XRMouseX = Mouse.X: XRMouseY = Mouse.Y
END IF
RKSMX = 0: RKSMY = -1
FOR M = 0 TO SumMMenu
IF M > 0 THEN
RKSMX = RKSMX + (LEN(MenuCap(M - 1, 0)) + 2) * 6 + 2
IF RKSMX + (LEN(MenuCap(M, 0)) + 2) * 6 + 2 > Win.W - 7 THEN RKSMX = 0: RKSMY = RKSMY + 14
END IF
GotFocus I, RKSMX - 1, RKSMY - 1, 6 * (LEN(MenuCap(M, 0)) + 2) + 2, 14, Mouse, Win
IF I AND II = 0 OR KeyCode = MenuHotkey(M) THEN
IF Mouse.K = 1 AND Mouse.RK = 0 OR KeyCode = MenuHotkey(M) OR XMenu <> M AND ContObj = 11 AND (Mouse.X <> XRMouseX OR Mouse.Y <> XRMouseY) THEN
IF ContObj = 11 THEN XPUT = 1
ContObj = 10: XMenu = M: XRMouseX = Mouse.X: XRMouseY = Mouse.Y
END IF
END IF
IF InitControl THEN
PrintMenu M, -1, -1, 0, Menu(), MenuCap(), SumMenu(), Win, RKSMX, RKSMY, RKMenuX, RKMenuY, MenuWidth
IF M = SumMMenu THEN MouseHide: Get3DBox (Win.X), (Win.Y) + RKSMY + 14, (Win.W) - 8, 1, 8, 15, -1: MouseShow
END IF
IF M = XMenu AND ContObj = 10 THEN RKSMenuX = RKSMX: RKSMenuY = RKSMY: RKMenuX = RKSMenuX - 1: RKMenuY = RKSMenuY + 16
NEXT
IF XPUT THEN
PrintMenu XRMenu, -1, -1, 3, Menu(), MenuCap(), SumMenu(), Win, RRKSMX, RRKSMY, RRKMX, RRKMY, RMW
IF XRMenu = XMenu THEN ContObj = 0
XRMenu = XMenu
IF XPUT = 2 THEN
C.MenuClick RecWins, XMenu, XMINX
ELSE
C.MenuClick -RecWins, -XMenu, 0
END IF
XPUT = 0: Mouse.K = -100: Mouse.RK = -100
RRTextI = 0: KeyCode = 0
END IF
IF ContObj = -1 THEN
SetMouseCursor 0: ContObj = 10
RKMenuY = Mouse.Y - Win.Y + 3
RKMenuX = Mouse.X - Win.X
RKSMenuX = -1
END IF
END IF
IF RContObj = 3 AND ContObj <> 3 THEN PrintText XInpText, 3, 0, Text(), TextTXT(), Win, CutBoard, XPutII
IF RContObj = 5 AND ContObj <> 5 THEN PrintCombo XCombo, 3, 0, Combo(), ComboTXT(), Win
RContObj = ContObj
IF ContObj = 10 THEN
C.MenuClick RecWins, XMenu, 0
PrintMenu XMenu, -1, 0, 1, Menu(), MenuCap(), SumMenu(), Win, RKSMenuX, RKSMenuY, RKMenuX, RKMenuY, MenuWidth
XRMenu = XMenu: XRMINX = 0: XMINX = 0
ContObj = 12
RRKSMX = RKSMenuX: RRKSMY = RKSMenuY
RRKMX = RKMenuX: RRKMY = RKMenuY: RMW = MenuWidth
END IF
IF ContObj = 12 AND Mouse.K = 0 AND Mouse.RK = 0 THEN ContObj = 11
IF ContObj < 10 THEN
IF (ContObj = 2 OR ContObj = 4) AND KeyCode > 0 THEN
I = ListB(XList).Index: S = ListB(XList).ScInx
B = S + ListB(XList).BH * ListB(XList).Col
IF KeyCode = 331 AND I > ListB(XList).BH - 1 THEN I = I - ListB(XList).BH: IF I < S THEN S = S - ListB(XList).BH
IF KeyCode = 333 AND I < ListB(XList).Count - ListB(XList).BH + 1 THEN I = I + ListB(XList).BH: IF I > B - 1 THEN S = S + ListB(XList).BH
IF KeyCode = 328 AND I > 0 THEN I = I - 1: IF I < S OR ListB(XList).BW <= 0 THEN IF ListB(XList).Col > 1 THEN S = S - ListB(XList).BH ELSE S = S - 1: I = S
IF KeyCode = 336 AND I < ListB(XList).Count THEN
I = I + 1
IF I > B - 1 OR ListB(XList).BW <= 0 THEN IF ListB(XList).Col > 1 THEN S = S + ListB(XList).BH ELSE S = S + 1: I = B
END IF
IF ContObj = 4 THEN
IF KeyCode = 13 THEN XComExit = 2: KeyCode = 0
IF KeyCode = 27 THEN XComExit = 1: KeyCode = 0
END IF
ListB(XList).Index = I: ListB(XList).ScInx = S
IF I > -1 THEN C.ListKeyPress RecWins, XList, KeyCode
END IF
RXL = XXL: XXX = 0
FOR XL = LST TO LEND
IF InitControl OR ContObj = -9 THEN
PrintList XL, -1, 1, 0, -2, ListB(), ListI(), Win: IF ContObj = -9 THEN ContObj = 4
ELSE
X = ListB(XL).X + 2: Y = ListB(XL).Y + 2: W = (ListB(XL).BW * ListB(XL).Col) * 6 + ListB(XL).Col * 3: H = ListB(XL).BH * 14 + 1
GotFocus XILIT, X, Y, W + 18, H, Mouse, Win
IF RXL <> XL AND PK AND XILIT THEN ListB(XXL).RCount = -2
IF (XILIT OR KeyCode = ListB(XL).Hotkey) AND ListB(XL).Count >= 0 AND XXX = 0 THEN
IF (Mouse.K = 1 AND Mouse.RK = 0 OR KeyCode = ListB(XL).Hotkey) AND ContObj <> 4 THEN ContObj = 2: XList = XL
GotFocus XLIL, X + W, Y, 18, H, Mouse, Win
MY = Mouse.Y - (Win.Y + Y)
MX = Mouse.X - (Win.X + X)
IF XLIL THEN
XSYY = -1
XMS = ListB(XL).Count - ListB(XL).BH * ListB(XL).Col + 1
IF XMS > 0 THEN
IF Mouse.K <> 1 AND Mouse.RK <> Mouse.K THEN PK = 0: MCNT = 0: NK = RNK: PR = 1: EXIT FOR
IF Mouse.K = 1 AND Mouse.RK = 0 THEN
NK = 5: PK = 1
IF MY < 16 THEN NK = 2 ELSE IF MY > H - 14 THEN NK = 3
PR = 1: RTimeClick = TIMER: InitTime = .4
RNK = NK
END IF
END IF
ELSE
IF RNK <> 0 AND Mouse.K <> 1 THEN RXL = XL: PK = 0: MCNT = 0: NK = 4: PR = 1: XSYY = -1: RNK = 0
IF Mouse.K <> 0 AND Mouse.RK = 0 OR ContObj = 4 AND (XRMouseY <> Mouse.Y OR XRMouseX <> Mouse.X) THEN
IL = (MY - 1) \ 14: JL = (MX - 1) \ (ListB(XL).BW * 6 + 3)
IL = ListB(XL).ScInx + JL * ListB(XL).BH + IL
IF IL > ListB(XL).Count THEN IL = -1
ListB(XL).Index = IL: XRMouseY = Mouse.Y: XRMouseX = Mouse.X
END IF
IF Mouse.K = 1 AND Mouse.RK = 0 THEN
IF ContObj = 4 THEN
XComExit = 2
ELSE
IF Mouse.DC AND IL > -1 THEN C.ListDblClick RecWins, XL
END IF
END IF
END IF
MCNT = 0
IF Mouse.K = 1 AND (TIMER - RTimeClick > InitTime AND (RNK = 2 OR RNK = 3) OR RNK = 5) THEN MCNT = 1: RTimeClick = TIMER: InitTime = ListScrollSpeed / 10
IF Mouse.K = 1 AND Mouse.RK = 0 OR MCNT THEN
S = ListB(XL).ScInx
IF RNK = 2 AND S > 0 THEN S = S - 1
IF RNK = 5 THEN
XSYY = MY - 15
IF XSYY < 0 THEN XSYY = 0
IF XSYY <> XRY THEN PR = 1: XRY = XSYY
END IF
IF RNK = 3 AND S < XMS + -(ListB(XL).Col > 1) * (ListB(XL).BH - ListB(XL).Count MOD ListB(XL).BH - 1) THEN S = S + 1
ListB(XL).ScInx = S
END IF
XXL = XL: XXX = 1
ELSE
IF RNK <> 0 THEN PK = 1
END IF
XPR = -1: XI = -1
B = ListB(XL).Index <> ListB(XL).RIndex
IF ListB(XL).Count <> ListB(XL).RCount THEN
XPR = 4
ELSEIF ListB(XL).ScInx <> ListB(XL).RScInx THEN
XPR = 5
ELSEIF B THEN
XI = ListB(XL).RIndex
XPR = 0
END IF
IF XPR > -1 THEN PrintList XL, XI, XPR, 0, -1, ListB(), ListI(), Win: A = ListB(XL).RIndex: ListB(XL).RIndex = XI: C.ListChange RecWins, XL, XPR: ListB(XL).RIndex = A
IF B AND ListB(XL).Index > -1 THEN C.ListClick RecWins, XL
END IF
NEXT
IF XXX = 0 AND PK THEN PR = 1: PK = 0: NK = RNK: XRY = -1: MCNT = 0: RNK = 0
IF PR AND RXL <= LEND THEN
RScInx = ListB(RXL).ScInx
PrintList RXL, -2, NK, PK, XSYY, ListB(), ListI(), Win: PR = 0
IF RScInx <> ListB(RXL).ScInx THEN C.ListChange RecWins, RXL, 9
END IF
IF XXX = 0 AND ContObj = 4 AND Mouse.K = 1 AND Mouse.RK = 0 THEN XComExit = 1
IF XComExit AND Mouse.K = 0 THEN
IF XComExit = 1 OR ListB(LEND).Index < 0 THEN ListB(LEND).Index = XComIndex: XComExit = 0
IF XComExit = 2 THEN SetCombo XCombo, (ListB(LEND).Index)
ContObj = 5: Mouse.RK = 0
MouseHide
PutTX Win.X + Combo(XCombo).X, XCOMY, 0
MouseShow
PrintCombo XCombo, 4, 0, Combo(), ComboTXT(), Win
IF XComExit = 2 THEN C.ComboClick RecWins, XCombo
XComExit = 0
LST = 0: LEND = SumList
END IF
IF ContObj <> 4 THEN
FOR T = 0 TO SumLabel
IF LabelCap(T) <> LabelRCap(T) OR InitControl THEN PrintLabel T, Label(), LabelCap(), LabelRCap(), Win
NEXT
FOR T = 0 TO SumOptG
FOR L = 0 TO SumOptI(T)
IF OptB(T, L).Enabled <> OptB(T, L).REnabled OR InitControl THEN PrintOption T, L, 11, OptB(), OptBRValue(), OptBValue(), OptBCap(), Win, SumOptI()
GotFocus I, (OptB(T, L).X), (OptB(T, L).Y), LEN(OptBCap(T, L)) * 6 + 16, 12, Mouse, Win
IF (I AND Mouse.K = 1 AND Mouse.RK = 0 OR KeyCode = OptB(T, L).Hotkey) AND OptB(T, L).Enabled THEN
OptBValue(T) = L
ContObj = 1
END IF
NEXT
IF OptBValue(T) <> OptBRValue(T) THEN
PrintOption T, -1, 0, OptB(), OptBRValue(), OptBValue(), OptBCap(), Win, SumOptI()
C.OptionClick RecWins, T, (OptBValue(T))
END IF
NEXT
FOR L = 0 TO SumCheck
IF Check(L).Enabled <> Check(L).REnabled OR InitControl THEN PrintCheck L, 11, Check(), CheckCap(), Win
GotFocus I, (Check(L).X), (Check(L).Y), LEN(CheckCap(L)) * 6 + 16, 12, Mouse, Win
IF (I AND Mouse.RK = 1 AND Mouse.K = 0 OR KeyCode = Check(L).Hotkey) AND Check(L).Enabled THEN
Check(L).Value = NOT Check(L).Value
ContObj = 6
END IF
IF Check(L).Value <> Check(L).RValue THEN
PrintCheck L, 0, Check(), CheckCap(), Win
C.CheckClick RecWins, L
END IF
NEXT
FOR A = 0 TO SumFrame
GotFocus I, (Frame(A).X), (Frame(A).Y), (Frame(A).W), (Frame(A).H), Mouse, Win
IF I THEN
IF Frame(A).GF = 0 THEN Frame(A).GF = -1: C.FrameMouseInOut RecWins, A, 1
IF Mouse.X <> Mouse.RX OR Mouse.Y <> Mouse.RY OR Mouse.K <> 0 OR Mouse.RK <> Mouse.K THEN C.FrameMouseState RecWins, A, (Mouse.X - Win.X - Frame(A).X), (Mouse.Y - Win.Y - Frame(A).Y), (Mouse.K)
IF Mouse.DC THEN
C.FrameDblClick RecWins, A
ELSEIF Mouse.K = 0 AND Mouse.RK <> 0 THEN
C.FrameClick RecWins, A, (Mouse.RK)
END IF
''EXIT FOR
ELSE
IF Frame(A).GF THEN Frame(A).GF = 0: C.FrameMouseInOut RecWins, A, 0
END IF
NEXT
FOR XLCOM = 0 TO SumCombo
IF Combo(XLCOM).Enabled <> Combo(XLCOM).REnabled OR InitControl THEN PrintCombo XLCOM, 1, 0, Combo(), ComboTXT(), Win
X = Combo(XLCOM).X: Y = Combo(XLCOM).Y: W = (Combo(XLCOM).BW) * 6
IF Combo(XLCOM).G3D > 0 THEN A = 1 ELSE A = 0
GotFocus I, X + A * (W + 7), Y + 1, (1 - A) * W + 23 - A * 5, 21, Mouse, Win
IF (I AND Mouse.K = 1 AND Mouse.RK = 0 OR KeyCode = ListB(SumList + XLCOM + 1).Hotkey) AND Combo(XLCOM).Enabled THEN
PrintCombo XCombo, 3, 0, Combo(), ComboTXT(), Win
MouseHide
GetTX Win.X + X, XCOMY, W + 25, H - 22, 0
MouseShow
PrintCombo XLCOM, 2, 1, Combo(), ComboTXT(), Win
ContObj = -9: XCombo = XLCOM
A = SumList + XLCOM + 1: XList = A
ListB(A).BH = ListB(A).Count + 1: IF ListB(A).BH > 8 THEN ListB(A).BH = 8
IF ListB(A).BH < 2 THEN ListB(A).BH = 1
LST = A: LEND = A: XComIndex = ListB(A).Index
H = ListB(A).BH * 14 + 2
B = Combo(XLCOM).G3D <> 0
XCOMY = Win.Y + Y + 18 - B
IF XCOMY + H > 455 THEN XCOMY = XCOMY - H - 20 + B * 2
ListB(A).BW = Combo(XCombo).BW
ListB(A).Col = (ListB(A).Count \ ListB(A).BH) + 1
IF ListB(A).Col > Combo(XLCOM).Col THEN ListB(A).Col = Combo(XLCOM).Col
B = ListB(A).BW * ListB(A).Col * 6 + 20 + (ListB(A).Col - 1) * 3
ListB(A).X = Combo(XCombo).X
IF ListB(A).X + B + Win.X + 3 > 640 THEN ListB(A).X = 640 - B - Win.X - 3
ListB(A).Y = XCOMY - Win.Y
IF RContObj = 3 THEN PrintText XInpText, 3, 0, Text(), TextTXT(), Win, CutBoard, 1
MouseHide
DrawBackBlock Win.X + ListB(A).X, Win.Y + ListB(A).Y, B, H, 5
MouseShow
C.ComboClick RecWins, -XCombo - 1
END IF
NEXT
END IF
END IF
END IF
InitControl = 0
IF ExitWin THEN
IF RecWins < 0 THEN EXIT DO
A = 0
C.FormUnload RecWins, A
IF A = 0 THEN
IF Wins = RecWins THEN
B = ASC(MID$(Win.RetWins, 1, 1))
IF B <= 1 THEN UnLoadMe
Wins = ASC(MID$(Win.RetWins, B, 1))
B = B - 2
IF B < 0 THEN B = 0
MID$(Win.RetWins, 1, 1) = CHR$(B)
END IF
EXIT DO
ELSE
ExitWin = 0: Wins = RecWins
END IF
END IF
LOOP
MouseHide
END SUB
SUB SetCombo (Inx, InxNo)
A = Inx + SumList + 1
ListB(A).Index = InxNo
IF InxNo < 0 THEN ComboTXT(Inx) = "" ELSE ComboTXT(Inx) = ListI(A, InxNo)
Combo(Inx).REnabled = 2
END SUB
超级经典的示例!!
大家可以分析分析此示例程序,
抛砖引玉
呵呵~
回复

使用道具 举报

32#
 楼主| 发表于 2004-5-12 17:25:57 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

回张三丰 ,你把qbwin自带的示例程序贴出来干吗,不是一下载就有了吗?
回复

使用道具 举报

33#
 楼主| 发表于 2004-5-12 17:26:36 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

下面引用由crshen2004/05/12 12:38pm 发表的内容:
下载了一键恢复4.3版,解压出其中的setup.zip,密码为lisa1207(不要问我怎么得到的哦),将setup.exe用upx解压,查看后发现的确为QBWin编写(有'QBWIN.FNT' not found!字样),“pqmagic /cmd=2g.pqs”,“boot ...
其实可以用shell调用dos命令的
回复

使用道具 举报

34#
发表于 2004-5-12 19:57:37 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

我的QBWIN中的下拉列表还是没反应呀,郁闷。。。。。。。。。。。。。。。
回复

使用道具 举报

35#
发表于 2004-5-12 21:17:16 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

脚本文件
因为脚本是在没有用户干预的情况下执行所以在开发脚本文件时要格外小心例
如如果遇到DELETE ALL 命令则当前所选驱动器上的所有分区都将被删除
而不提示任何警告或要求确认信息这些信息通常允许用户取消删除操作
重要由于Drive Image Pro 是在DOS 提示符处运行因此命令行上最多只
能输入128 个字符
脚本参数操作
SELECT DRIVE {< 编号>} 选择指定编号的驱动器例如SELECT DRIVE 1 将选择系统中的第一个硬盘在此命令之后的所有其它命令都是指驱动器1 直到使用其它的SELECT DRIVE 命令为止
SELECT PARTITION < 编号> 选择当前所选的驱动器上按编号指定的分区分区是按它们在磁盘上开始扇区号的顺序进行编号的不包括任何扩展分区或可用空间
SELECT PARTITION < 驱动器字母>选择由DOS 分配了驱动器字母的分区因为DOS 仅为可见的FAT 分区分配驱动器字母所以使用此命令只能选择这些类型的分区
SELECT PARTITION < 卷标> 选择带有指定卷标的第一个分区例如SELECT PARTITION DATA 选择标记为DATA 的第一个分区如果不止一个分区有此标签包括FAT32 NTFS 和HPFS 分区则只选择第一个分区
SELECT PARTITION FIRST 选择第一个分区
SELECT PARTITION NEXT 不管选择分区时使用的是何种语法总是选择紧跟在最后所选分区后的那个分区
SELECT PARTITION ALL 选择当前所选驱动器上的所有分区
SELECT FREESPACE {first |last | next | largest}
选择当前所选驱动器上指定的可用空间在选择最大的可用空间时无论可用空间是在扩展分区内还是在扩展分区外都没关系
SELECT IMAGE {< 编号> |all}选择映象文件中指定的映象例如SELECTIMAGE 3 或SELECT IMAGE ALL
PROTECT PARTITION FIRST 保护第一个分区免被删除
PROTECT PARTITION LAST 保护最后一个分区免被删除
PROTECT PARTITION DIAGNOSTIC保护未知类型的第一个有效分区免被删除
DELETE 使用任何SELECT PARTITION 命令删除所选的最后一个分区
DELETE ALL 删除当前所选驱动器上的所有分区而不必进行选择
DELETE EXTENDED 删除扩展分区只有将扩展分区内的所有逻辑分区都删除完后才可将其删除
SECTOR CHECK ON 对此命令后的所有恢复操作都启用坏扇区检查如果需要对某些分区禁用坏扇区检查而对另一些分区启用坏扇区检查则也可以使用/CBS 来替代它
SECTOR CHECK OFF 对此命令后的所有恢复操作禁用坏扇区检查如果需要对某些分区启用坏扇区检查而对另一些分区禁用坏扇区检查则也可以使用/NBS 来替代它
SET ACTIVE 将所选的最后一个分区设置为活动分区表示它将成为引导分区
STORE 使用无压缩方式存储所选分区
STORE WITH COMPRESSION OFF使用无压缩方式存储所选的分区
STORE WITH COMPRESSION LOW使用低比率压缩方式存储所选分区
STORE WITH COMPRESSION HIGH使用高比率压缩方式存储所选分区
RESIZE IMAGE NO 导致最后一个所选映象在遇到RESTORE 命令时不调整大小
RESIZE IMAGE PROPORTIONAL在遇到RESTORE 命令时按比例调整最后一个所选映象的大小
RESIZE IMAGE < 数值> 在遇到RESTORE 命令时将最后一个所选映象的大小调整为指定的数值用MB 表示
RESIZE IMAGE MAX 将最后一个所选映象的大小调整到可能的最大值在分区可占用驱动器剩余空间的情况下使用
此命令时该分区会填满整个驱动器
RESIZE IMAGE MOST SPACE调整含有最多可用空间的分区的大小1) 忽略Resize Image Proportional 并将其处理为Resize Image No 2) 忽略Resize ImageMax 并将其处理为Resize Image No 且3)认定Resize Image < 数值> 有效因此在计算MOST SPACE 时不考虑该分区
RESTORE 将选择的所有映象下载到可用空间并按RESIZE命令对其大小进行调整如有可能的话
REBOOT 重新引导计算机此命令之后的任何命令都不会执行
回复

使用道具 举报

36#
发表于 2004-5-12 21:18:42 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

加1G的脚本
Dim NeedSize
NeedSize=1024
// 允许用户在操作后手工重新启动计算机,否则将自动重新启动计算机
  Allow Manual Reboot
//默认情况下不检测坏扇区,提高操作速度
  Set Default Bad Sector Test State OFF
// 选择第一块硬盘
  Select Disk 1
//选择RXC分区并检测大小
  Select Partition "RXC_SERVICE"
//选择前一个分区
  Select Partition Previous
//检测错误
  Check
// 检测该分区未使用空间是否满足要求
    Dim bQuit
    bQuit = 0
    IF GetUnusedAmount >= NeedSize Then
         //改变分区的大小,在其后面空出需要大小的空间(即前面NeedSize变量保存的值)
         Resize Space After NeedSize
    Else
         bQuit = 1
    End If
//选择最后一个分区,并将其扩大到占用后面所有的未分配空间(把刚才删除分区的空间合并给前一分区)
    If bQuit = 0 Then
Select Partition "RXC_SERVICE"
Resize Larger Max
    End If
回复

使用道具 举报

37#
 楼主| 发表于 2004-5-12 23:37:03 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

不错不错!!
回复

使用道具 举报

38#
发表于 2004-5-13 00:21:21 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

thanks
回复

使用道具 举报

39#
发表于 2004-5-13 22:51:36 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

下面引用由889882004/05/12 07:57pm 发表的内容:
我的QBWIN中的下拉列表还是没反应呀,郁闷。。。。。。。。。。。。。。。
再问详细使用方法。。。。
回复

使用道具 举报

40#
发表于 2004-5-14 03:19:39 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

k011003179  兄。把你发的那张图的源代码给我,行不行?
我以前没接触过QB, 想好好研究一下。。。。。。。。
回复

使用道具 举报

41#
发表于 2004-5-14 13:15:01 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

老兄你在哪儿呀?
回复

使用道具 举报

42#
 楼主| 发表于 2004-5-14 18:54:22 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

我由于上课没有上网,你的信箱是,我发过去
回复

使用道具 举报

43#
发表于 2004-5-14 19:36:39 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

下面引用由k0110031792004/05/14 06:54pm 发表的内容:
我由于上课没有上网,你的信箱是,我发过去
顺便给我一份吧,我没学过Basic,最好有注释:)
crshen@tom.com
多谢!
回复

使用道具 举报

44#
发表于 2004-5-14 19:39:50 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

有空的话也给我一份吧 谢谢了  ilovelbh@yeah.net
回复

使用道具 举报

45#
发表于 2004-5-14 22:33:07 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

我的信箱是  yhxx.01143@yh188.com    期待中。。。。。。。。。。。。。。。。
回复

使用道具 举报

46#
发表于 2004-5-15 13:43:12 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

来一个:jyssysz@tom.com
回复

使用道具 举报

47#
发表于 2004-5-15 13:44:24 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)


谢谢k011003179,源程序已收到并阅读。
附:Dos下QBasic大全的链接,有需要者请点击
回复

使用道具 举报

48#
发表于 2004-5-15 14:52:44 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

下面引用由crshen2004/05/15 01:44pm 发表的内容:
谢谢k011003179,源程序已收到并阅读。
附:Dos下QBasic大全的链接,有需要者请点击
源程序已收到并阅读。请贴出k011003179的源程序来.如果大的话请用附件上传到论坛.
回复

使用道具 举报

49#
发表于 2004-5-15 18:13:34 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

你写得太好了,也给我一个吧
我的信箱是: sblinux@sohu.com
回复

使用道具 举报

50#
 楼主| 发表于 2004-5-15 20:48:28 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

以上邮箱源程序已经都发出去了
回复

使用道具 举报

51#
发表于 2004-5-15 20:56:51 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

k011003179:
您好,没有收到您的源程序,请再发一次!!
jyssysz@tom.com
jyssysz@eyou.com
回复

使用道具 举报

52#
 楼主| 发表于 2004-5-15 21:31:12 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

下面引用由jyssysz2004/05/15 08:56pm 发表的内容:
k011003179:
您好,没有收到您的源程序,请再发一次!!
jyssysz@tom.com
jyssysz@eyou.com
已发
回复

使用道具 举报

53#
发表于 2004-5-15 22:02:37 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

哇!我也学习学习吧。请也发一份给我吧!
zktong@163.com
谢谢
回复

使用道具 举报

54#
发表于 2004-5-16 03:13:29 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

k011003179 您好:
如果可以的話,请也发一份给我吧!
i_meteor@yahoo.com
谢谢!
回复

使用道具 举报

55#
发表于 2004-5-16 09:55:16 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

[这个贴子最后由jyssysz在 2004/05/16 12:39pm 第 1 次编辑]

能否作为附件发到论坛上??????????
多谢!!
回复

使用道具 举报

56#
发表于 2004-5-16 10:49:56 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

你写得太好了,也给我一个吧
我的信箱是: 22232133@163.com
回复

使用道具 举报

57#
发表于 2004-5-16 11:14:52 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

搞什么那?/
那些图形界面的代码 QWSHELL回自动生成的  
关键是按钮和菜单的代码  要那些做什么那
回复

使用道具 举报

58#
发表于 2004-5-16 14:17:45 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

下面引用由crshen2004/05/12 09:17pm 发表的内容:
脚本文件
因为脚本是在没有用户干预的情况下执行所以在开发脚本文件时要格外小心例
如如果遇到DELETE ALL 命令则当前所选驱动器上的所有分区都将被删除
而不提示任何警告或要求确认信息这些信息通常允许用户取消 ...
请问这是PQ的脚本吗?如果是的话请问PQ7支不支持,怎样调用?
回复

使用道具 举报

59#
发表于 2004-5-16 15:45:33 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

不是PQ的,是Drive Image Pro 脚本,4.3版一键恢复中的DI可用。
回复

使用道具 举报

60#
发表于 2004-5-16 16:16:00 | 只看该作者

想拥有自己的一键恢复吗?自己编写程序!(更新 附上源代码)

[UploadFile=34_2250_59.rar]如果习惯用PQmagic,就研究一下附件中的pmscript吧。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-7-30 06:11

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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