|
.版本 2
.支持库 iext
.支持库 shell
.程序集 窗口程序集_启动窗口
.子程序 _单选框1_被单击
透明标签3.可视 = 假
滑块条1.可视 = 假
.子程序 _单选框2_被单击
透明标签3.可视 = 真
滑块条1.可视 = 真
.子程序 _按钮2_被单击
结束 ()
.子程序 初始化程序
.如果 (系统_是否64位操作系统 () = 真)
Ghost主程序 = 取运行目录 () + “\Ghost64.exe”
.否则
Ghost主程序 = 取运行目录 () + “\Ghost32.exe”
.如果结束
.如果 (文件是否存在 (Ghost主程序) = 真)
磁盘信息EX = 取特定目录 (11) + “\cxdir.exe”
写到文件 (磁盘信息EX, #dir)
.否则
信息框 (取文件名Ex (Ghost主程序) + “ 主程序不存在!”, 48, “提示”, )
结束 ()
.如果结束
.子程序 获取驱动器列表
.参数 超级列表框, 超级列表框
.局部变量 x, 整数型
.局部变量 i, 整数型
.局部变量 t, 整数型
.局部变量 剩余空间, 长整数型
.局部变量 获取活动分区, 文本型
.局部变量 分区表类型, 文本型
.局部变量 S, 整数型
.局部变量 当前磁盘信息, 文本型
.局部变量 磁盘, 文本型
.局部变量 分区号, 文本型
.局部变量 磁盘dir, 文本型
.局部变量 总大小, 文本型
.局部变量 剩余大小, 文本型
.局部变量 分区类型, 文本型
.局部变量 文件系统, 文本型
.局部变量 卷标, 文本型
.局部变量 分区表, 文本型
.局部变量 分割内容, 文本型, , "0"
磁盘dir = 系统_取DOS执行结果 (#引号 + 磁盘信息EX + #引号 + “ -mohong”)
清除数组 (分割内容)
超级列表框.全部删除 ()
磁盘dir = 子文本替换 (磁盘dir, 字符 (9), “|”, , , 假)
磁盘dir = 子文本替换 (磁盘dir, “ ”, “”, , , 假)
分割内容 = 分割文本 (磁盘dir, #换行符, )
.如果 (取数组成员数 (分割内容) = 0)
.否则
.计次循环首 (取数组成员数 (分割内容), S)
当前磁盘信息 = 子文本替换 (文本_取指定变量文本行 (磁盘dir, S), 字符 (9), “|”, , , 假)
磁盘 = 文本_取出中间文本 (当前磁盘信息, “|”, “|”)
.如果 (磁盘 = “”)
x = 超级列表框.插入表项 (, 磁盘, , , , )
.否则
x = 超级列表框.插入表项 (, 磁盘 + “\”, , , , )
.如果结束
分区号 = 取文本左边 (当前磁盘信息, 1) + 文本_取出中间文本 (当前磁盘信息, 取文本左边 (当前磁盘信息, 1), “|”)
.如果 (寻找文本 (分区号, “:”, , 假) = -1)
超级列表框.删除表项 (x)
.否则
超级列表框.置标题 (x, 1, 分区号)
.如果结束
.如果 (磁盘 = “”)
总大小 = 文本_取出中间文本 (当前磁盘信息, “||”, “|”)
.否则
总大小 = 文本_取出中间文本 (当前磁盘信息, 磁盘 + “|”, “|”)
.如果结束
超级列表框.置标题 (x, 4, 总大小)
剩余大小 = 文本_取出中间文本 (当前磁盘信息, “GB|”, “|”)
超级列表框.置标题 (x, 5, 剩余大小)
分区类型 = 文本_取出中间文本 (当前磁盘信息, 总大小 + “|” + 剩余大小 + “|”, “|”)
文件系统 = 文本_取出中间文本 (当前磁盘信息, 分区类型 + “|”, “|”)
卷标 = 文本_取出中间文本 (当前磁盘信息, 分区类型 + “|” + 文件系统 + “|”, “|”)
.如果 (卷标 = “”)
分区表 = 文本_取出中间文本 (当前磁盘信息, 文件系统 + “||”, “|”)
.否则
分区表 = 文本_取出中间文本 (当前磁盘信息, 文件系统 + “|” + 卷标 + “|”, “|”)
.如果结束
超级列表框.置标题 (x, 3, 文件系统)
.如果 (到大写 (分区类型) = 到大写 (“Primary”))
超级列表框.置标题 (x, 2, “主分区,” + 分区表)
.否则
.如果 (到大写 (分区类型) = 到大写 (“Logical”))
.如果 (到大写 (分区表) = 到大写 (“MBR”))
超级列表框.置标题 (x, 2, “逻辑分区”)
超级列表框.置图片 (x, 0, 0)
.否则
.如果 (到大写 (分区表) = 到大写 (“”))
超级列表框.置标题 (x, 2, “逻辑分区”)
.否则
超级列表框.置标题 (x, 2, “逻辑分区,” + 分区表)
.如果结束
.如果结束
.否则
超级列表框.置标题 (x, 2, 分区类型 + “分区,” + 分区表)
.如果结束
.如果结束
.如果 (磁盘 = “”)
超级列表框.置图片 (x, 0, 3) ' \\未知驱动器
置行列颜色 (_启动窗口, 超级列表框1, x, 0, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 1, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 2, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 3, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 4, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 5, #红色, #白色)
.否则
.如果 (文件是否存在 (磁盘 + “\windows\system32\CMD.EXE”) = 真)
超级列表框.置图片 (x, 0, 0) ' \\存在windows系统
.否则
.如果 (磁盘_取磁盘类型 (磁盘) = “硬盘驱动器”)
超级列表框.置图片 (x, 0, 1) ' \\不存在windows系统
.否则
.如果 (磁盘_取磁盘类型 (磁盘) = “可移动驱动器”)
超级列表框.置图片 (x, 0, 2) ' \\不存在windows系统
.否则
超级列表框.置图片 (x, 0, 3) ' \\未知驱动器
置行列颜色 (_启动窗口, 超级列表框1, x, 0, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 1, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 2, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 3, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 4, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 5, #红色, #白色)
.如果结束
.如果结束
.如果结束
.如果结束
.如果 (到数值 (取文本左边 (超级列表框.取标题 (x, 4), 取文本长度 (超级列表框.取标题 (x, 4)) - 2)) < 0.2)
置行列颜色 (_启动窗口, 超级列表框1, x, 0, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 1, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 2, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 3, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 4, #红色, #白色)
置行列颜色 (_启动窗口, 超级列表框1, x, 5, #红色, #白色)
.否则
.如果结束
.计次循环尾 ()
.如果结束
.子程序 __启动窗口_创建完毕
初始化程序 ()
获取驱动器列表 (超级列表框1)
.子程序 _按钮1_被单击
.如果 (单选框1.选中 = 真)
.如果 (通用对话框1.打开 ())
.如果 (组合框1.选择 (通用对话框1.文件名) = -1)
组合框1.加入项目 (通用对话框1.文件名, )
组合框1.选择 (通用对话框1.文件名)
.否则
.如果结束
.否则
.如果结束
.否则
.如果 (通用对话框2.打开 ())
.如果 (组合框1.选择 (通用对话框2.文件名) = -1)
组合框1.加入项目 (通用对话框2.文件名, )
组合框1.选择 (通用对话框2.文件名)
.否则
.如果结束
.否则
.如果结束
.如果结束
.子程序 _按钮3_被单击
.局部变量 Ghost返回, 文本型
.如果 (单选框1.选中 = 真)
.如果 (组合框1.取项目文本 (组合框1.现行选中项) = “”)
信息框 (“请选择要还原的Ghost映像文件!”, 48, “提示”, )
.否则
.如果 (文件是否存在 (组合框1.取项目文本 (组合框1.现行选中项)) = 假)
信息框 (“Ghost映像文件不存在!”, 48, “提示”, )
.否则
.如果 (盘符与ID = “”)
信息框 (“请选择要还原的分区!”, 48, “提示”, )
.否则
.如果 (盘符 = “”)
信息框 (“请选择正确的分区!”, 48, “提示”, )
.否则
.如果 (ID = “”)
信息框 (“请选择正确的分区!”, 48, “提示”, )
.否则
.如果 (信息框 (“是否还原 ” + 取文件名Ex (组合框1.取项目文本 (组合框1.现行选中项)) + “ 到 ” + 盘符与ID + “ ?”, 64 + #是否钮, “提示”, ) = 5)
_启动窗口.可视 = 假
Ghost返回 = 系统_取DOS执行结果 (Ghost主程序 + “ -clone,mode=pload,src=” + #引号 + 取文件名Ex (组合框1.取项目文本 (组合框1.现行选中项)) + #引号 + “:1,dst=” + ID + “ -noide -crcignore -sure -fx -BATCH”)
_启动窗口.可视 = 真
.如果 (Ghost返回 = “”)
.如果 (选择框1.选中 = 真)
系统_Windows强制重启_WinPE ()
.否则
信息框 (“Ghost应用映像到磁盘完成!”, 64, “提示”, )
.如果结束
.否则
信息框 (“Ghost应用映像错误!” + #换行符 + “错误信息:” + #换行符 + Ghost返回, 16, “提示”, )
.如果结束
.否则
.如果结束
.如果结束
.如果结束
.如果结束
.如果结束
.如果结束
.否则
.如果 (单选框2.选中 = 真)
.如果 (组合框1.取项目文本 (组合框1.现行选中项) = “”)
信息框 (“请输入要保存的Ghost映像文件!”, 48, “提示”, )
.否则
.如果 (盘符与ID = “”)
信息框 (“请选择要还原的分区!”, 48, “提示”, )
.否则
.如果 (盘符 = “”)
信息框 (“请选择正确的分区!”, 48, “提示”, )
.否则
.如果 (ID = “”)
信息框 (“请选择正确的分区!”, 48, “提示”, )
.否则
.如果 (信息框 (“是否备份 ” + 盘符与ID + “ 到 ” + 取文件名Ex (组合框1.取项目文本 (组合框1.现行选中项)) + “ ?”, 64 + #是否钮, “提示”, ) = 5)
_启动窗口.可视 = 假
Ghost返回 = 系统_取DOS执行结果 (Ghost主程序 + “ -clone,mode=pdump,src=” + ID + “,dst=” + #引号 + 组合框1.取项目文本 (组合框1.现行选中项) + #引号 + “ -z” + 到文本 (滑块条1.位置) + “ -noide -crcignore -sure -fx -BATCH ”)
_启动窗口.可视 = 真
.如果 (Ghost返回 = “”)
.如果 (选择框1.选中 = 真)
系统_Windows强制重启_WinPE ()
.否则
信息框 (“Ghost备份” + 盘符与ID + “完成!”, 64, “提示”, )
.如果结束
.否则
信息框 (“Ghost备份” + 盘符与ID + “错误!” + #换行符 + “错误信息:” + #换行符 + Ghost返回, 16, “提示”, )
.如果结束
.否则
.如果结束
.如果结束
.如果结束
.如果结束
.如果结束
.否则
.如果结束
.如果结束
.子程序 _超级列表框1_右键单击表项
获取选中信息 ()
.子程序 获取选中信息
.如果 (超级列表框1.现行选中项 ≥ 0)
盘符与ID = 超级列表框1.取标题 (超级列表框1.现行选中项, 0) + “(” + 超级列表框1.取标题 (超级列表框1.现行选中项, 1) + “)”
盘符 = 超级列表框1.取标题 (超级列表框1.现行选中项, 0)
ID = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
.否则
.如果结束
.子程序 _超级列表框1_左键单击表项
获取选中信息 ()
.子程序 取文件名Ex, 文本型
.参数 文件名, 文本型
返回 (取文本右边 (文件名, 取文本长度 (文件名) - 倒找文本 (文件名, “\”, , 假)))
|
|