无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 15357|回复: 25
打印 上一主题 下一主题

Win7镜像安装工具(改自fujianabc的win7/vista安装器)(全部源码)

[复制链接]
跳转到指定楼层
1#
发表于 2010-5-2 11:57:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因为在写一个网络系统下载工具,需要安装win7的时候发现ms没有全参数的安装工具,遂参考fujianabc的硬盘安装器(Bat)(在此表示感谢),自己用Au3写了一个win7安装工具。

1.程序启动遍历驱动器,寻找"Sources\install.wim"文件自动装载(自身目录寻找Install.wim)。若没有找到则弹出选择wim文件的对话框。
2.自匹配活动分区(ShowDrive不知道为什么没用)。
3.格式化步骤还是采用DOS窗口.
4.采用回显方式获取数据。


此版本可能不稳定,请大家在虚拟机下测试。

图片(图片怎么不能直接显示?):
系统选择界面:
1.jpeg (42.79 KB, 下载次数: 686)
磁盘选择界面:
2.jpeg (47.43 KB, 下载次数: 193)
安装界面:
3.jpeg (20.04 KB, 下载次数: 164)
4.jpeg (43.65 KB, 下载次数: 144)


附件:

Nt6.part1.rar (292.97 KB, 下载次数: 991)
Nt6.part2.rar (292.97 KB, 下载次数: 687)
Nt6.part3.rar (237.42 KB, 下载次数: 680)





;//--------------源码-------------------
应求,附核心源码。

process1.rar (1.39 KB, 下载次数: 400)

没什么技术含量的东西,希望不要见笑。
有兴趣者一起更新吧。

不想写了,公开全部源码:

http://www.autoitx.com/thread-15161-1-1.html

[ 本帖最后由 republican 于 2010-5-3 21:44 编辑 ]

图片.rar

143.82 KB, 下载次数: 312, 下载积分: 无忧币 -2

2#
发表于 2010-5-2 12:08:19 | 只看该作者
支持原创,请提供AU3源代码,谢谢~
回复

使用道具 举报

3#
 楼主| 发表于 2010-5-2 12:18:14 | 只看该作者

回复 #2 tegl 的帖子

感谢支持!
需要的人多了我再提供源代码~~
回复

使用道具 举报

4#
发表于 2010-5-2 12:21:34 | 只看该作者
☆۩۞۩☆【谢谢提供!】 ☆۩۞۩☆
回复

使用道具 举报

5#
发表于 2010-5-2 13:12:58 | 只看该作者
支持一下,不知道好用不
回复

使用道具 举报

6#
发表于 2010-5-2 13:19:10 | 只看该作者
支持一下,我也需要这个源码,我想参考一下以后来完善我的工具
回复

使用道具 举报

7#
发表于 2010-5-2 13:58:36 | 只看该作者
au3,支持一下。有源码更好!
回复

使用道具 举报

8#
发表于 2010-5-3 09:15:43 | 只看该作者
学习一下au3,谢谢分享
回复

使用道具 举报

9#
发表于 2010-5-3 10:19:21 | 只看该作者
特意来学习一下,谢谢了
回复

使用道具 举报

10#
发表于 2010-5-3 13:30:51 | 只看该作者

回复 #1 republican 的帖子

建议
加一个引导修复选项
这样就可以恢复XP的备份了
回复

使用道具 举报

11#
发表于 2010-5-3 13:32:11 | 只看该作者

回复 #1 republican 的帖子

还有这个格式化是建立在diskpart的基础上吗
还是程序自身的
回复

使用道具 举报

12#
发表于 2010-5-3 14:15:56 | 只看该作者
或者加个选项
win7和xp可以选择
回复

使用道具 举报

13#
发表于 2010-5-3 15:00:12 | 只看该作者
原帖由 xuexiang 于 2010-5-3 13:30 发表
建议
加一个引导修复选项
这样就可以恢复XP的备份了



这个建议好
回复

使用道具 举报

14#
发表于 2010-5-3 15:15:12 | 只看该作者
这个挺不错,收藏备用
回复

使用道具 举报

15#
 楼主| 发表于 2010-5-3 21:42:50 | 只看该作者
原帖由 xuexiang 于 2010-5-3 13:32 发表
还有这个格式化是建立在diskpart的基础上吗
还是程序自身的


不好意思,让你失望了,我没这样想过。不过全部源码我在AutoIt论坛发了,需要的话可以过去看看。
回复

使用道具 举报

16#
发表于 2010-5-4 09:54:15 | 只看该作者

没有账号
没有邀请码
看不了呀
回复

使用道具 举报

17#
发表于 2010-5-4 15:52:17 | 只看该作者
特意来学习一下,谢谢了
回复

使用道具 举报

18#
发表于 2010-5-4 16:05:13 | 只看该作者
支持呀,虽然没怎么用WIN7
回复

使用道具 举报

19#
发表于 2010-5-4 19:36:28 | 只看该作者
Win7镜像安装工具 【AU3源码】

Win7镜像安装工具au3.rar

6.11 KB, 下载次数: 86, 下载积分: 无忧币 -2

回复

使用道具 举报

20#
发表于 2010-5-6 20:20:05 | 只看该作者
是AU3写的,一开始我就猜到了,呵呵~我把代码转过来:

  1. #AutoIt3Wrapper_Icon=windows7.ico
  2. #AutoIt3Wrapper_Res_Fileversion=0.9.0.0
  3. #cs ____________________________________
  4. Au3 版本:0.9.0.0
  5. 脚本作者: republican
  6. #ce _______________脚本开始_________________
  7. #include <ButtonConstants.au3>
  8. #include <GUIConstantsEx.au3>
  9. #include <WindowsConstants.au3>
  10. #include <GUIComboBox.au3>
  11. #include <GuiConstantsEx.au3>
  12. #include <Constants.au3>
  13. #include <GUIListBox.au3>
  14. #include <GuiConstantsEx.au3>
  15. #include <GuiListView.au3>
  16. #InClude <Process.Au3>
  17. #include <StaticConstants.au3>
  18. #include <EditConstants.au3>
  19. #include <Constants.au3>
  20. #include <StaticConstants.au3>
  21. #include <ProgressConstants.au3>
  22. Opt("GUIResizeMode", 802)


  23. Global $title="踹小孩·特工组 Win7系统安装工具",$WinSize
  24. Global $Image[20],$LevelInfo[20],$LevelDiscrip[20],$BUILD[20],$SPBUILD[20],$FullInfo[20],$Langue[20]
  25. Global $FileNum,$FilePath,$ImageFIle
  26. Global $PageNum=1,$LevelForm ,$Levelgroup,$LevelView,$SelectMoreButton,$SelectNextButton,$SelectCancelButton,$Levelgroup2,$LevelLabel

  27. Global $DosTool=@TempDir&'\DsptW.eXe'
  28. Global $IniFile=@TempDir&'\DskVol.InI'
  29. Global $ShowDrive=@TempDir&'\ShowDrive.eXe'
  30. Global $ComLine=$DosTool&' /A /Pdr >'&$IniFile
  31. Global $DiskForm,$DiskGroup,$DiskList,$DiskNextButton,$DiskCancelButton,$diskgroup2,$diskcheck,$DiskRadio1,$DiskRadio2,$DiskCombo,$DiskRadio3
  32. Global $LevelMode,$DiskPar,$ActivePar,$TarPar,$TarLan,$FormMode,$OldRead
  33. Global $progressform,$add, $clear, $mylist, $Button1, $nmsg,$EditPage=2, $BootRes=0,$FixRes=0,$ChangeRes=0,$Progress1,$ProLabe1,$ProLabe2,$ProLabe3,$ProLabe4,$ProLabe5,$ProButton1,$ProButton2,$ProgressEdit

  34. If $CmdLine[0] >0 Then
  35.         $FilePath=$CmdLine[1]
  36.         _FirstForm()
  37. Else
  38.         If FileExists(@ScriptDir&"Install.wim") Then
  39.                 $FilePath=@ScriptDir&"Install.wim"
  40.         Else
  41.                 $var = DriveGetDrive( "all" )
  42.                 If NOT @error Then
  43.                         For $i = 1 to $var[0]
  44.                                 If FileExists($var[$i]&"\sources\Install.wim") Then
  45.                                         $FilePath=$var[$i]&"\sources\Install.wim"
  46.                                         $i=$var[0]+1
  47.                                 EndIf
  48.                         Next
  49.                 EndIf
  50.                 If $FilePath= '' Then $FilePath=FileOpenDialog ( "请选择镜像文件", @ScriptDir, "IMageX镜像文件(*.wim)",3)
  51.         EndIf
  52.         If $FilePath<> '' Then _FirstForm()
  53. EndIf
  54. ;$FilePath='J:\sources\Install.wim'
  55. ;_FirstForm()


  56. Func _FirstForm()
  57.         TrayTip("初始化程序中","正在解压核心程序...",3000)
  58.         FileInstall('imagex.exe',@TempDir&'\imagex.exe')
  59.         TrayTip("初始化程序中","正在提取镜像信息...",3000)
  60. RunWait('cmd /c '&@TempDir&'\imagex.exe'&' /info '&$FilePath&' >'&@TempDir&'\wim.txt',@ScriptDir,@SW_HIDE)
  61. _ReadWim(@TempDir&'\wim.txt')
  62. FileDelete(@TempDir&'\wim.txt')
  63. For $i = 1 To $FileNum
  64.         TrayTip("初始化程序中","正在提取卷信息...",3000)
  65.            RunWait('cmd /c '&@TempDir&'\imagex.exe'&' /info '&$FilePath&' '&$i&' >'&@TempDir&'\wim'&$i&'.txt',@ScriptDir,@SW_HIDE)
  66.            Dim $TXT=@TempDir&'\wim'&$i&'.txt'
  67.            _ReadFullWim($TXT,$i)
  68.            FileDelete($TXT )
  69. Next
  70. TrayTip("","",0)
  71. _InitialLevelForm()
  72. EndFunc
  73. Func _SecondForm()
  74.         TrayTip("磁盘初始化中","正在获取信息...",3000)
  75. If Not FileExists($ShowDrive) Then FileInstall('ShowDrive.Vxd',$ShowDrive,1)
  76. _RunDOS($ShowDrive)
  77. If Not FileExists($DosTool) Then FileInstall('DsptW.Vxd',$DosTool,1)
  78.         _RunDOS($ComLine)
  79.                
  80. TrayTip("","",0)               
  81. _IniTialDiskFOrm()
  82. $PageNum=2
  83. EndFunc

  84. Func _InitialLevelForm()
  85. #Region ### START Koda GUI section ### Form=
  86. $LevelForm = GUICreate($title, 490, 400, -1, -1)
  87. $Levelgroup = GUICtrlCreateGroup("请选择系统", 15, 15, 450, 200)
  88.         
  89.         Global $LevelView = _GUICtrlListView_Create($LevelForm, "", 25, 30, 430, 180)
  90.         GUICtrlSetState($LevelView,$GUI_HIDE)
  91.         _GUICtrlListView_SetExtendedListViewStyle($LevelView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
  92.         _GUICtrlListView_InsertColumn($LevelView, 0, "卷号", 40,2)
  93.         _GUICtrlListView_InsertColumn($LevelView, 1, "系统全称", 280,0)
  94.         _GUICtrlListView_InsertColumn($LevelView, 2, "版本号", 50,2)
  95.         _GUICtrlListView_InsertColumn($LevelView, 3, "版本标识", 60,2)
  96.         ;_GUICtrlListView_InsertColumn($LevelView, 4, "描述", 300,2)
  97. For $i=1 To $FileNum
  98.         _GUICtrlListView_AddItem($LevelView, $i, $i)
  99.         _GUICtrlListView_AddSubItem($LevelView, $i-1, $Levelinfo[$i], 1)
  100.         _GUICtrlListView_AddSubItem($LevelView, $i-1, $BUILD[$i], 2)
  101.         _GUICtrlListView_AddSubItem($LevelView, $i-1, $SPBUILD[$i], 3)
  102.         
  103. Next
  104.         
  105. GUICtrlCreateGroup("", -99, -99, 1, 1)
  106. $Levelgroup2=GUICtrlCreateGroup("详细描述", 15, 220, 450, 100)
  107. $LevelLabel=GUICtrlCreateLabel("    点击卷列表以获得更多信息",25,240,435,50,$SS_left )
  108. GUICtrlCreateGroup("", -99, -99, 1, 1)

  109. $SelectMoreButton                        =GUICtrlCreateButton("详细描述",250,330,65,20)
  110. GUICtrlSetState(-1,$GUI_DISABLE)
  111. $SelectNextButton                        =GUICtrlCreateButton("下一步",325,330,65,20)
  112. GUICtrlSetState(-1,$GUI_DISABLE)
  113. $SelectCancelButton                =GUICtrlCreateButton("取消",395,330,65,20)

  114. GUISetState(@SW_SHOW,$LevelForm)
  115. #EndRegion ### END Koda GUI section ###
  116. EndFunc

  117. Func _IniTialDiskFOrm()
  118. #Region ### START Koda GUI section ### Form=
  119. $DiskForm = GUICreate($title, 490, 400, $WinSize[0], $WinSize[1])
  120. $DiskGroup = GUICtrlCreateGroup("请选择系统分区", 15, 15, 450, 200)
  121.         
  122.         Global $DiskList = _GUICtrlListView_Create($DiskForm, "", 25, 30, 430, 180)
  123.         GUICtrlSetState($DiskList,$GUI_HIDE)
  124.         _GUICtrlListView_SetExtendedListViewStyle($DiskList, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
  125.         _GUICtrlListView_InsertColumn($DiskList, 0, "驱动器", 50,2)
  126.         _GUICtrlListView_InsertColumn($DiskList, 1, "分区编号", 60,2)
  127.         _GUICtrlListView_InsertColumn($DiskList, 2, "分区状态", 60,2)
  128.         _GUICtrlListView_InsertColumn($DiskList, 3, "卷标", 100,2)
  129.         _GUICtrlListView_InsertColumn($DiskList, 4, "已用空间", 60,1)
  130.         _GUICtrlListView_InsertColumn($DiskList, 5, "剩余空间", 60,1)
  131.         _GUICtrlListView_InsertColumn($DiskList, 6, "类型", 60,0)
  132. Local $diskinfo=FileOpen($IniFile)
  133. Local $TotalLine=0
  134. While 1
  135.         FileReadLine($diskinfo,$TotalLine)
  136.         If @error=-1 Then ExitLoop
  137.         $TotalLine +=1
  138. WEnd
  139. Local $LineRead
  140. For $LineRead =3 To $TotalLine -2
  141.         Local $LineForRead=FileReadLine($diskinfo,$LineRead)
  142.         Local $InfoForRead=StringSplit($LineForRead,"        ")
  143.         For $i = 1 To $InfoForRead[0]
  144.                 If $i = 1 Then
  145.                         _GUICtrlListView_AddItem($DiskList, StringStripWS($InfoForRead[$i],8), $LineRead-3)
  146.                         _GUICtrlListView_AddSubItem($DiskList, $LineRead-3, DriveGetFileSystem(StringStripWS($InfoForRead[$i],8)), 6)
  147.                         ;_GUICtrlListView_AddSubItem($DiskList, $LineRead-3, 'FAT32', 6)
  148.                 Else
  149.                         If $InfoForRead[$i]="A" Then
  150.                                 $InfoForRead[$i]="活动"
  151.                                 $ActivePar=$InfoForRead[$i-2]
  152.                         EndIf
  153.                                 
  154.                         _GUICtrlListView_AddSubItem($DiskList, $LineRead-3, StringStripWS($InfoForRead[$i],8), $i-1)
  155.                 EndIf
  156.                
  157.         Next
  158.         
  159. Next
  160. ;DriveGetFileSystem

  161. GUICtrlCreateGroup("", -99, -99, 1, 1)
  162. $diskgroup2=GUICtrlCreateGroup("其他操作", 15, 220, 450, 100)
  163. $diskcheck=GUICtrlCreateCheckbox("手动选择系统盘符",25,235,200)
  164. $diskRadio1=GUICtrlCreateRadio("格式化目标分区",25,255,220)
  165. GUICtrlSetState(-1,$Gui_Checked)
  166. $diskRadio2=GUICtrlCreateRadio("仅删除目标分区系统文件",25,275,220)
  167. GUICtrlSetState(-1,$GUI_DISABLE)
  168. $DiskRadio3=GUICtrlCreateRadio("保留目标分区系统文件(重命名)",25,295,220)
  169. $DiskCombo= GUICtrlCreateCombo("",260,235,60)
  170. GUICtrlSetData(-1, "C:|D:|E:|F:|G:|H:|I:|J:|K:|L:|M:|N:|O:|P:|Q:|R:|S:|T:|U:|V:|W:|Y:", "C:")
  171. GUICtrlSetState(-1,$GUI_DISABLE)
  172. GUICtrlCreateGroup("", -99, -99, 1, 1)
  173. $DiskNextButton                        =GUICtrlCreateButton("下一步",325,330,65,20)
  174. GUICtrlSetState(-1,$GUI_DISABLE)
  175. $DiskCancelButton                =GUICtrlCreateButton("取消",395,330,65,20)
  176. #EndRegion ### END Koda GUI section ###
  177. EndFunc


  178. ;_ProgressForm()
  179. Func _ProgressForm()
  180. #Region ### START Koda GUI section ### Form=
  181. $progressform=GUICreate($title, 480, 150, $WinSize[0], $WinSize[1]);150
  182. $ProgressEdit = GUICtrlCreateEdit("", 16, 152, 449, 169)
  183. GUICtrlSetState(-1,$gui_disable)
  184. $ProLabe1 = GUICtrlCreateLabel("文件解压进度:", 16, 16, 120, 17)
  185. $Progress1 = GUICtrlCreateProgress(16, 40, 446, 17)
  186. $ProLabe2 = GUICtrlCreateLabel("剩余时间: --:--", 340, 16, 120, 17)
  187. $ProLabe3 = GUICtrlCreateLabel("引导文件修复:", 16, 64, 300, 17)
  188. $ProLabe4 = GUICtrlCreateLabel("系统文件修正:", 16, 88, 300, 17)
  189. $ProLabe5 = GUICtrlCreateLabel("系统盘符修正:", 16, 112, 300, 17)
  190. $ProButton1 = GUICtrlCreateButton("执行", 384, 104, 75, 25)
  191. $ProButton2 = GUICtrlCreateButton("详细过程", 296, 104, 75, 25)
  192. GUICtrlSetState(-1,$gui_disable)
  193. #EndRegion ### END Koda GUI section ###
  194. GUISetState(@SW_SHOW)
  195. EndFunc


  196. While $PageNum=1
  197.         $nMsg = GUIGetMsg()
  198.         Switch $nMsg
  199.                 Case $GUI_EVENT_CLOSE
  200.                         Exit
  201.                 Case $SelectCancelButton
  202.                         ;MsgBox(4096,"haha",GUICtrlGetState($SelectNextButton))
  203.                         Exit
  204.                 Case $SelectMoreButton
  205.                         _FullInfo()
  206.                 Case $SelectNextButton
  207.                         $LevelMode=_GUICtrlListView_GetSelectedIndices($LevelView)+1
  208.                         $WinSize=WinGetPos($title,"请选择系统")
  209.                         _SecondForm()
  210.                         GUISetState(@SW_SHOW,$DiskForm)
  211.                         GUISetState(@SW_HIDE,$LevelForm)
  212.                         ;If $WinSize[0] <> "" And $WinSize[1] <> ""  Then  
  213.                                 
  214.         EndSwitch
  215.         
  216.         If GUICtrlGetState($SelectNextButton) <> 80 Then
  217.                 If _GUICtrlListView_GetSelectedIndices($LevelView) <> '' Then
  218.                         GUICtrlSetState($SelectNextButton,$Gui_enable)
  219.                         
  220.                 EndIf
  221.         EndIf
  222.         
  223.                 If _GUICtrlListView_GetSelectedIndices($LevelView) <> '' Then
  224.                         If GUICtrlRead($LevelLabel) <> '    '&$FullInfo[_GUICtrlListView_GetSelectedIndices($LevelView)+1] Then GUICtrlSetData($LevelLabel,'    '&$FullInfo[_GUICtrlListView_GetSelectedIndices($LevelView)+1])
  225.                 EndIf
  226.         
  227. WEnd

  228. While $PageNum=2
  229.         $nMsg = GUIGetMsg()
  230.         Switch $nMsg
  231.                 Case $GUI_EVENT_CLOSE ;Or $SelectCancelButton
  232.                         Exit
  233.                 Case $DiskNextButton
  234.                         $DiskPar=_GUICtrlListView_GetSelectedIndices($DiskList)+1
  235.                         $TarPar=_GUICtrlListView_GetItemText($DiskList,$DiskPar-1,0)
  236.                         If $langue[$DiskPar] <> '' Then
  237.                                 $TarLan=$langue[$DiskPar]
  238.                         Else
  239.                                 $TarLan='en-US'
  240.                         EndIf
  241.                         ;MsgBox(4096,"haha",$LevelMode &' ' &$DiskPar&' ' &$ActivePar&' ' &$TarPar&' ' &$TarLan)
  242.                         ;RunWait('cmd /c imagex.exe /apply '&$FilePath& ' '&$LevelMode& ' '&$TarPar&' &' & _
  243.                         ;'pause','',@SW_MAXIMIZE)
  244.                         If GUICtrlRead($diskRadio1) =1 Then
  245.                                 $FormMode=1
  246.                                 
  247.                         ElseIf GUICtrlRead($diskRadio2) =1 Then
  248.                                 $FormMode=2
  249.                         ElseIf GUICtrlRead($diskRadio2) =1 Then
  250.                                 $FormMode=3
  251.                         EndIf
  252.                         $WinSize=WinGetPos($title,"请选择系统分区")
  253.                         GUISetState(@SW_HIDE,$DiskForm)
  254.                         $PageNum=3
  255.                         _ProgressForm()
  256.                         ;GUISetState
  257.                         ;_RunImageX()
  258.                         ;GUISetState(@SW_SHOW,$DiskForm)
  259.                         ;Sleep(3000)
  260.                         ;Exit
  261.                 Case $diskCancelButton
  262.                         
  263.                         
  264.                         FileDelete(@TempDir&'\imagex.exe')
  265.                         Exit
  266.                 Case $diskcheck
  267.                         If GUICtrlRead($diskcheck)=1 Then
  268.                                 GUICtrlSetState($DiskCombo,$GUI_Enable)
  269.                         ElseIf GUICtrlRead($diskcheck)<> 1 Then
  270.                                 GUICtrlSetState($DiskCombo,$GUI_DISABLE)
  271.                         EndIf
  272.                         
  273.                 EndSwitch
  274.                
  275.         If GUICtrlGetState($diskNextButton) <> 80 Then
  276.                 If _GUICtrlListView_GetSelectedIndices($DiskList) <> '' Then
  277.                         GUICtrlSetState($diskNextButton,$Gui_enable)
  278.                 EndIf
  279.         EndIf        
  280.                
  281.         If _GUICtrlListView_GetSelectedIndices($DiskList) <> '' Then
  282.                         If GUICtrlRead($diskcheck) =4 Then
  283.                                 If GUICtrlRead($DiskCombo)<> _GUICtrlListView_GetItemText($DiskList,_GUICtrlListView_GetSelectedIndices($DiskList),0) Then GUICtrlSetData($DiskCombo,_GUICtrlListView_GetItemText($DiskList,_GUICtrlListView_GetSelectedIndices($DiskList),0))
  284.                         EndIf
  285.         
  286.          
  287.         If $OldRead <>        _GUICtrlListView_GetItemText($DiskList,_GUICtrlListView_GetSelectedIndices($DiskList),5) Then
  288.                 If _GUICtrlListView_GetItemText($DiskList,_GUICtrlListView_GetSelectedIndices($DiskList),5) < 5000  Then
  289.                         GUICtrlSetState($DiskRadio3,$GUI_DISABLE)
  290.                         If GUICtrlRead($DiskRadio3) =1 Then
  291.                                 GUICtrlSetState($DiskRadio3,$gui_unchecked)
  292.                                 GUICtrlSetState($DiskRadio1,$gui_checked)
  293.                         EndIf
  294.                 Else
  295.                         GUICtrlSetState($DiskRadio3,$GUI_Enable)
  296.                 EndIf
  297.                
  298.                 If  _GUICtrlListView_GetItemText($DiskList,_GUICtrlListView_GetSelectedIndices($DiskList),6) = 'NTFS' Then
  299.                         GUICtrlSetState($DiskRadio3,$GUI_Enable)
  300.                 Else
  301.                         GUICtrlSetState($DiskRadio3,$gui_unchecked)
  302.                         GUICtrlSetState($DiskRadio1,$gui_checked)
  303.                         GUICtrlSetState($DiskRadio3,$GUI_DISABLE)
  304.                 EndIf
  305.                 $OldRead =        _GUICtrlListView_GetItemText($DiskList,_GUICtrlListView_GetSelectedIndices($DiskList),5)
  306.         EndIf
  307.         
  308.         EndIf
  309. WEnd
  310. While $PageNum=3
  311.         $nmsg = GUIGetMsg()
  312.         Switch $nmsg
  313.                 Case $GUI_EVENT_CLOSE
  314.                         Exit
  315.                                 Case $ProButton1
  316.                                         If $FormMode=1 Then
  317.                                                 TrayTip("操作过程","正在格式化磁盘",5000)
  318.                                                 _FormatIt()
  319.                                         ElseIf $FormMode=2 Then
  320.                                                 _renOld()
  321.                                         EndIf
  322.                                                 ;TrayTip("操作过程","正在解压镜像",5000)
  323.                                                 TrayTip("","",0)
  324.                         _ImageX()
  325.                                                 TrayTip("操作过程","正在修复引导",2000)
  326.                                                 _FixBoot()
  327.                                                 TrayTip("操作过程","正在修复系统位置",2000)
  328.                                                 _FixLetter()
  329.                                                 TrayTip("操作过程","正在更改系统盘符",2000)
  330.                                                 _ChangeLetter()
  331.                                                 If $BootRes=$FixRes=$ChangeRes=1 Then
  332.                                                         GUISetState(@SW_HIDE)
  333.                                                         TrayTip("操作结束","系统文件复制成功,请重启以继续安装",3000)
  334.                                                         Sleep(3000)
  335.                                                         Exit
  336.                                                 EndIf
  337.                                 Case $ProButton2
  338.                                         If         $EditPage=1 Then
  339.                                                 WinMove($title,"",Default,Default,Default,170)
  340.                                                 GUICtrlSetData($ProButton2,"详细过程")
  341.                                                 $EditPage=2
  342.                                         Else
  343.                                                 WinMove($title,"",Default,Default,Default,370)
  344.                                                 GUICtrlSetData($ProButton2,"隐藏过程")
  345.                                                 $EditPage=1
  346.                                         EndIf
  347.         EndSwitch
  348. WEnd






  349. Func _ReadWim($GhostFname)
  350. Local $IniLineSum=0        ; 每次读取一行文本,直到文件结束.
  351.                 ;$DrivePath="c"
  352.                 Dim $EndNum,$FOne=0,$CDriver,$DDriver,$result=''
  353.                
  354.                 Dim $TempNum=1
  355.                
  356.                 While 1
  357.                    $line = FileReadLine($GhostFname,$inilinesum)
  358.                 If @error = -1 Then ExitLoop
  359.                         ;//-----------------卷号-------
  360.                         If StringLeft($line,12)="Image Count:" Then
  361.                                 $FileNum=StringRight($line,StringLen($line)-13)
  362.                         EndIf
  363.                         If StringLeft(StringStripWS($line,1),6)='<IMAGE' Then
  364.                                 $Image[$TempNum]=$inilinesum
  365.                                 $result=$result& '  ' &@crlf&$Image[$TempNum]                        
  366.                                 $TempNum+=1
  367.                         EndIf
  368.                
  369.                 $inilinesum+=1
  370.         WEnd
  371.                         
  372.                         $EndNum=$inilinesum-1
  373.                         $Image[$TempNum]=$EndNum
  374.                         $inilinesum=0
  375.                
  376.                 $result=''
  377.         
  378.                 For $i=1 To $FileNum
  379.                         $x=$Image[$i]
  380.                         While $x<$Image[$i+1]
  381.                                            $line = FileReadLine($GhostFname,$x)
  382.                                            If StringLeft(StringStripWS($line,1),6)='<NAME>' Then
  383.                                                    $LevelInfo[$i]=_XmlChange($line)
  384.                                                    $result=$result& '  ' &@crlf&$LevelInfo[$i]
  385.                                                 ;MsgBox(4096,"haha",$i & $info[$i])
  386.                                         ElseIf StringLeft(StringStripWS($line,1),12)='<DISPLAYNAME' Then
  387.                                                 $LevelDiscrip[$i]=_XmlChange($line)
  388.                                                 ;MsgBox(4096,"haha",$LevelDiscrip[$i])
  389.                                                 $result=$result& '  ' &@crlf&$LevelDiscrip[$i]
  390.                                         ElseIf StringLeft(StringStripWS($line,1),6)='<BUILD' Then
  391.                                                 $BUILD[$i]=_XmlChange($line)
  392.                                                 $result=$result& '  ' &@crlf&$BUILD[$i]
  393.                                         ElseIf StringLeft(StringStripWS($line,1),8)='<SPBUILD' Then
  394.                                                 $SPBUILD[$i]=_XmlChange($line)
  395.                                                 $result=$result& '  ' &@crlf&$SPBUILD[$i]
  396.                                         ElseIf StringLeft(StringStripWS($line,1),10)='<LANGUAGE>'Then
  397.                                                 $langue[$i]=_XmlChange($line)
  398.                                            EndIf
  399.                                 $x+=1
  400.                         WEnd
  401.                    Next
  402.         

  403. EndFunc
  404. Func _ReadFullWim($GhostFname,$i)
  405.         Dim $FileNum,$EndNum,$IniLineSum=1,$FullInfo
  406.         While 1
  407.                 $line = FileReadLine($GhostFname,$IniLineSum)
  408.                 If @error Then ExitLoop
  409.                
  410.                 If StringLeft(StringStripWS($line,1),9)='<DISPLAYD' Then
  411.                         $FullInfo[$i]=_XmlChange($line)
  412.                         ExitLoop
  413.                 EndIf
  414.                 $IniLineSum+=1
  415.         WEnd
  416.         
  417. EndFunc
  418. Func _FullInfo()
  419.         $result1=_GUICtrlListView_GetSelectedIndices($LevelView)+1
  420.         MsgBox(4096,$LevelDiscrip[$result1],$FullInfo[$result1])
  421. EndFunc
  422. Func _XmlChange($TxtInfo)
  423.         Dim $PreRead=StringSplit(StringStripWS($TxtInfo,1),"<")
  424.         Dim $NextRead=StringSplit($PreRead[2],">")
  425.         Return $NextRead[2]
  426. EndFunc

  427. Func _RunImageX()
  428.         
  429.         FileInstall('bcdboot.exe',@TempDir&'\bcdboot.exe')
  430.         FileInstall('fixletter.cmd',@TempDir&'\fixletter.cmd')
  431.         FileInstall('osletter7.cmd',@TempDir&'\osletter7.cmd')
  432.         FileInstall("bootsect.exe", @TempDir&'\bootsect.exe',1)
  433.         RunWait('cmd /c '&@TempDir&'\imagex.exe'&' /apply '&$FilePath& ' '&$LevelMode& ' '&$TarPar&' &' & _
  434.                         ''&@TempDir&'\bcdboot.exe'&' '&$TarPar&'\windows /s '&$ActivePar&' /l '&$TarLan&' &' & _
  435.                         ''&@TempDir&'\fixletter.cmd'&' /currentos:'&$TarPar&' &' & _
  436.                         ''&@TempDir&'\osletter7.cmd'&' /targetletter:'&$TarPar&' /currentos:'&$ActivePar&' &' & _
  437.                         ''&@TempDir&'\bootsect.exe /nt60 sys &' & _
  438.                         ''&@TempDir&'\bootsect.exe /nt60 '&$ActivePar&' &' & _
  439.                         'pause',@ScriptDir,@SW_MAXIMIZE)
  440.         FileDelete(@TempDir&'\bcdboot.exe')
  441.         FileDelete(@TempDir&'\fixletter.cmd')
  442.         FileDelete(@TempDir&'\osletter7.cmd')
  443.         FileDelete(@TempDir&'\bootsect.exe')
  444. EndFunc
  445. Func _DeleteDir()
  446.         
  447.         If FileExists($TarPar&'\windows') Then
  448.                 TrayTip("文件操作","正在删除Windows文件夹",3000)
  449.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\windows"')
  450.         EndIf
  451.         If FileExists($TarPar&'\Program Files') Then
  452.                 TrayTip("文件操作","正在删除Program Files文件夹",3000)
  453.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\Program Files"')
  454.         EndIf
  455.         If FileExists($TarPar&'\ProgramData') Then
  456.                 TrayTip("文件操作","正在删除ProgramData文件夹",3000)
  457.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\ProgramData"')
  458.         EndIf
  459.         If FileExists($TarPar&'\Users') Then
  460.                 TrayTip("文件操作","正在删除Users文件夹",3000)
  461.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\Users"')
  462.         EndIf
  463.         If FileExists($TarPar&'\PerfLogs') Then
  464.                 TrayTip("文件操作","正在删除PerfLogs文件夹",3000)
  465.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\PerfLogs"')
  466.         EndIf
  467.         If FileExists($TarPar&'\Documents and Settings') Then
  468.                 TrayTip("文件操作","正在删除PerfLogs文件夹",3000)
  469.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\Documents and Settings"')
  470.         EndIf
  471.         TrayTip("","",0)
  472. EndFunc
  473. Func _DeleteDirOld()
  474.         
  475.         If FileExists($TarPar&'\windows.old') Then
  476.                 TrayTip("文件操作","正在删除Windows.old文件夹",3000)
  477.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\windows.old"')
  478.         EndIf
  479.         If FileExists($TarPar&'\Program Files.old') Then
  480.                 TrayTip("文件操作","正在删除Program Files.old文件夹",3000)
  481.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\Program Files.old"')
  482.         EndIf
  483.         If FileExists($TarPar&'\ProgramData.old') Then
  484.                 TrayTip("文件操作","正在删除ProgramData文件夹.old",3000)
  485.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\ProgramData.old"')
  486.         EndIf
  487.         If FileExists($TarPar&'\Users.old') Then
  488.                 TrayTip("文件操作","正在删除Users.old文件夹",3000)
  489.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\Users.old"')
  490.         EndIf
  491.         If FileExists($TarPar&'\PerfLogs.old') Then
  492.                 TrayTip("文件操作","正在删除PerfLogs.old文件夹",3000)
  493.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\PerfLogs.old"')
  494.         EndIf
  495.         If FileExists($TarPar&'\Documents and Settings.old') Then
  496.                 TrayTip("文件操作","正在删除PerfLogs.old文件夹",3000)
  497.                 RunWait('cmd /c rd /s /q "'&$TarPar&'\Documents and Settings.old"')
  498.         EndIf
  499.         RunWait('cmd /c ren "'&$TarPar&'\windows" "windows.old" &' & _
  500.                         'ren "'&$TarPar&'\Program Files" "Program Files.old" &' & _
  501.                         'ren "'&$TarPar&'\ProgramData" "ProgramData.old" &' & _
  502.                         'ren "'&$TarPar&'\Users" "Users.old" &' & _
  503.                         'ren "'&$TarPar&'\PerfLogs" "PerfLogs.old" &' & _
  504.                         'ren "'&$TarPar&'\Documents and Settings" "Documents and Settings.old" &' & _
  505.                         'pause')
  506.         
  507.         TrayTip("","",0)
  508. EndFunc
  509. Func _FormatIt()
  510.         RunWait("cmd /c format /fs:ntfs /q /y " & $TarPar&'')
  511. EndFunc
  512. Func _renOld()
  513.         FileSetAttrib ( $TarPar&'\ProgramData', "-RSH")
  514.         FileSetAttrib ( $TarPar&'\Documents and Settings', "-RSH")
  515.         Local $search = FileFindFirstFile($TarPar&"\*.*"),$result1=''
  516. While 1
  517. Dim $file = FileFindNextFile($search)
  518. If @error Then ExitLoop
  519. If $result1='' Then
  520.         $result1='ren "'&$TarPar &'\'&$file&'" "'&$file&'.old"'
  521. Else
  522. $result1 =$result1 &' & ren "'&$TarPar &'\'&$file&'" "'&$file&'.old"'
  523. EndIf
  524. WEnd
  525. RunWait("cmd /c " & $result1 &'','',@SW_HIDE)
  526. EndFunc

  527. ;//-------------------New----------------------------------------
  528. Func _ImageX()
  529.         Local $foo, $line, $lines, $currentRead
  530.                 GUICtrlSetState($ProButton2,$gui_enable)
  531.                 $foo =  Run('cmd /c '&@TempDir&'\imagex.exe'&' /apply '&$FilePath& ' '&$LevelMode& ' '&$TarPar&' ', @ScriptDir, @SW_HIDE, $STDOUT_CHILD)
  532.         While 1
  533.                 $line = StdoutRead($foo)
  534.                 If @error Then ExitLoop
  535.                                 $msg = GUIGetMsg()
  536.                                 Select
  537.                                         Case $msg =$ProButton2
  538.                                        
  539.                                                 If         $EditPage=1 Then
  540.                                                         WinMove($title,"",Default,Default,Default,170)
  541.                                                         GUICtrlSetData($ProButton2,"详细过程")
  542.                                                         $EditPage=2
  543.                                                 ElseIf $EditPage=2 Then
  544.                                                         WinMove($title,"",Default,Default,Default,370)
  545.                                                         GUICtrlSetData($ProButton2,"隐藏过程")
  546.                                                         $EditPage=1
  547.                                                 EndIf                        
  548.                                 EndSelect
  549.                                 
  550.                                 GUICtrlSetData($ProgressEdit, $line, -1)
  551.                                 Dim $Progress,$ProgressA,$ProgressB,$RemainTime='',$RemainTimeA,$RemainTimeB,$RemainTimeC
  552.                                 If StringStripWS($line,8)<>"" Then
  553.                                         Dim $TxtRead=StringStripCR($line)
  554.                                         If StringInStr($TxtRead,"Applying progress") Then
  555.                                                 $ProgressA=StringSplit($TxtRead,"]")
  556.                                                 $ProgressB=StringSplit($ProgressA[1],"[")
  557.                                                 $Progress=StringStripCR(StringStripWS($ProgressB[2],8))
  558.                                         EndIf
  559.                                         GUICtrlSetData($Progress1,StringTrimRight($Progress,1))
  560.                                         GUICtrlSetData($ProLabe1,"文件解压进度: " &$Progress )
  561.                                         If StringInStr($TxtRead,"remaining") Then
  562.                                                 $RemainTimeA=StringSplit(StringLeft($TxtRead,StringLen($TxtRead)-10),"o")
  563.                                                 $RemainTimeB=StringRight($RemainTimeA[2],StringLen($RemainTimeA[2])-7)
  564.                                                 If StringInStr($RemainTimeB,"mins") Then
  565.                                                         $RemainTimeC=StringSplit($RemainTimeB,":")
  566.                                                         $RemainTime="剩余时间: "&$RemainTimeC[1]&" 分 "&StringLeft($RemainTimeC[2],2)&" 秒 "
  567.                                                 ElseIf StringInStr($RemainTimeB,"sec") Then
  568.                                                         $RemainTime=StringLeft(StringStripCR(StringStripWS($RemainTimeB,8)),2)
  569.                                                         If StringRight($RemainTime,1)="s" Then $RemainTime=StringLeft($RemainTime,1)
  570.                                                                 $RemainTime="剩余时间: "&$RemainTime&" 秒 "
  571.                                                         EndIf
  572.                                                 EndIf
  573.                                         If $RemainTime <> '' Then
  574.                                        
  575.                                         GUICtrlSetData($ProLabe2,$RemainTime)
  576.                         EndIf
  577.                         If StringInStr($TxtRead,"Successfully") Then
  578.                                 GUICtrlSetData($ProLabe2,"")
  579.                                 GUICtrlSetData($ProLabe1,"文件解压进度: 完成  ")
  580.                         EndIf
  581.                 EndIf
  582.         WEnd
  583. EndFunc   
  584. Func _FixLetter()
  585.         Local $foo1, $line, $lines, $currentRead
  586.         GUICtrlSetState($ProButton2,$gui_enable)
  587.         FileInstall('fixletter.cmd',@TempDir&'\fixletter.cmd')
  588.         ;RunWait("cmd /c echo "&@TempDir&'\fixletter.cmd'&' /currentos:'&$TarPar&' & pause', @ScriptDir)
  589.         $foo1 =  Run("cmd /c "&@TempDir&'\fixletter.cmd'&' /currentos:'&$TarPar&' & pause', @ScriptDir, @SW_HIDE, $STDOUT_CHILD)
  590.         While 1
  591.                 $line = StdoutRead($foo1)
  592.                 If @error Then ExitLoop
  593.                                 
  594.                                 $msg = GUIGetMsg()
  595.                                 Select
  596.                                         Case $msg =$ProButton2
  597.                                        
  598.                                                 If         $EditPage=1 Then
  599.                                                         WinMove($title,"",Default,Default,Default,170)
  600.                                                         GUICtrlSetData($ProButton2,"详细过程")
  601.                                                         $EditPage=2
  602.                                                 ElseIf $EditPage=2 Then
  603.                                                         WinMove($title,"",Default,Default,Default,370)
  604.                                                         GUICtrlSetData($ProButton2,"隐藏过程")
  605.                                                         $EditPage=1
  606.                                                 EndIf                        
  607.                                         EndSelect
  608.                                 GUICtrlSetData($ProgressEdit, $line, -1)        
  609.                                 If StringStripWS($line,8)<>"" Then
  610.                                         Dim $TxtRead=StringStripCR($line)
  611.                                         If StringInStr($TxtRead,"Failure") Then
  612.                                                 GUICtrlSetData($ProLabe4,"系统文件修正: 失败  (详情请查看详细过程)")
  613.                                                 $FixRes=2
  614.                                         ElseIf StringInStr($TxtRead,"Script completed") Then
  615.                                                 GUICtrlSetData($ProLabe4,"系统文件修正: 成功")
  616.                                                 $FixRes=1
  617.                                         EndIf
  618.                                 EndIf
  619.         WEnd
  620.                         
  621.                                 If $FixRes=0 Then GUICtrlSetData($ProLabe4,"系统文件修正: 失败  (详情请查看详细过程)")
  622.                                 FileDelete(@TempDir&'\fixletter.cmd')
  623. EndFunc
  624.         
  625. Func _ChangeLetter()
  626.         Local $foo2, $line, $lines, $currentRead
  627.         FileInstall('osletter7.cmd',@TempDir&'\osletter7.cmd')
  628.         $foo2 =  Run("cmd /c "&@TempDir&'\osletter7.cmd'&' /targetletter:'&$TarPar&' /currentos:'&$ActivePar&' ', @ScriptDir, @SW_HIDE, $STDOUT_CHILD)
  629.         While 1
  630.                 $line = StdoutRead($foo2)
  631.                 If @error Then ExitLoop
  632.                                 
  633.                                 $msg = GUIGetMsg()
  634.                                 Select
  635.                                         Case $msg =$ProButton2
  636.                                        
  637.                                                 If         $EditPage=1 Then
  638.                                                         WinMove($title,"",Default,Default,Default,170)
  639.                                                         GUICtrlSetData($ProButton2,"详细过程")
  640.                                                         $EditPage=2
  641.                                                 ElseIf $EditPage=2 Then
  642.                                                         WinMove($title,"",Default,Default,Default,370)
  643.                                                         GUICtrlSetData($ProButton2,"隐藏过程")
  644.                                                         $EditPage=1
  645.                                                 EndIf                        
  646.                                         EndSelect
  647.                                 GUICtrlSetData($ProgressEdit, $line, -1)        
  648.                                 If StringStripWS($line,8)<>"" Then
  649.                                         Dim $TxtRead=StringStripCR($line)
  650.                                         If StringInStr($TxtRead,"Failure") Then
  651.                                                 GUICtrlSetData($ProLabe5,"系统盘符修正: 失败  (详情请查看详细过程)")
  652.                                                 $ChangeRes=2
  653.                                         ElseIf StringInStr($TxtRead,"Script completed") Then
  654.                                                 GUICtrlSetData($ProLabe5,"系统盘符修正: 成功")
  655.                                                 $ChangeRes=1
  656.                                         EndIf
  657.                                 EndIf
  658.         WEnd
  659.                                 If $ChangeRes=0 Then GUICtrlSetData($ProLabe5,"系统文件修正: 失败  (详情请查看详细过程)")
  660.                                 FileDelete(@TempDir&'\osletter7.cmd')
  661.                                 FileInstall("bootsect.exe", @TempDir&'\bootsect.exe',1)
  662.                                 RunWait('cmd /c '&@TempDir&'\bootsect.exe /nt60 sys &' & _
  663.                                                         ''&@TempDir&'\bootsect.exe /nt60 '&$ActivePar&' ', "",@SW_HIDE)
  664.                                 FileDelete(@TempDir&'\bootsect.exe')
  665. EndFunc
  666.                         
  667. Func _FixBoot()
  668.         Local $foo3, $line, $lines, $currentRead
  669.         FileInstall('bcdboot.exe',@TempDir&'\bcdboot.exe')
  670.         $foo3 =  Run("cmd /c "&@TempDir&'\bcdboot.exe'&' '&$TarPar&'\windows /s '&$ActivePar&' /l '&$TarLan&' ', @ScriptDir, @SW_HIDE, $STDOUT_CHILD)
  671.         While 1
  672.                 $line = StdoutRead($foo3)
  673.                 If @error Then ExitLoop
  674.                                 
  675.                                 $msg = GUIGetMsg()
  676.                                 Select
  677.                                         Case $msg =$ProButton2
  678.                                        
  679.                                                 If         $EditPage=1 Then
  680.                                                         WinMove($title,"",Default,Default,Default,170)
  681.                                                         GUICtrlSetData($ProButton2,"详细过程")
  682.                                                         $EditPage=2
  683.                                                 ElseIf $EditPage=2 Then
  684.                                                         WinMove($title,"",Default,Default,Default,370)
  685.                                                         GUICtrlSetData($ProButton2,"隐藏过程")
  686.                                                         $EditPage=1
  687.                                                 EndIf                        
  688.                                         EndSelect
  689.                                 GUICtrlSetData($ProgressEdit, $line, -1)        
  690.                                 If StringStripWS($line,8)<>"" Then
  691.                                         Dim $TxtRead=StringStripCR($line)
  692.                                         If StringInStr($TxtRead,"Failure") Then
  693.                                                 GUICtrlSetData($ProLabe3,"引导文件修复: 失败  (详情请查看详细过程)")
  694.                                                 $BootRes=2
  695.                                         ElseIf StringInStr($TxtRead,"successfully") Then
  696.                                                 GUICtrlSetData($ProLabe3,"引导文件修复: 成功")
  697.                                                 $BootRes=1
  698.                                         EndIf
  699.                                 EndIf
  700.         WEnd
  701.                                 If $BootRes=0 Then GUICtrlSetData($ProLabe3,"引导文件修复: 失败  (详情请查看详细过程)")
  702.                                 FileDelete(@TempDir&'\bcdboot.exe')
  703. EndFunc
  704.                         
复制代码
回复

使用道具 举报

21#
发表于 2010-5-12 18:14:19 | 只看该作者
不错!很好用,谢谢楼主
回复

使用道具 举报

22#
发表于 2010-5-12 18:26:25 | 只看该作者
把图片扩展名改成jpg重新上传应该就可以显示了
回复

使用道具 举报

23#
发表于 2013-4-10 19:49:40 | 只看该作者
xuexiang 发表于 2010-5-4 09:54

没有账号
没有邀请码

我有。。。。。。。。。。。。。。。。。。。。
回复

使用道具 举报

24#
发表于 2013-8-28 10:03:59 | 只看该作者
特意来学习一下
回复

使用道具 举报

25#
发表于 2013-8-28 19:31:27 | 只看该作者
只发源码却没有成品下载啊
回复

使用道具 举报

26#
发表于 2013-8-28 22:20:36 | 只看该作者
想要AU3源碼+1
先感謝分享~~~
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-17 05:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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