本帖最后由 www8899 于 2022-3-12 20:44 编辑
; *** AutoIt3Wrapper 开始 ***
#include <FontConstants.au3>
; *** AutoIt3Wrapper 结束 ***
#Region ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
#AccAu3Wrapper_Icon=E:\ico\1.ico
#AccAu3Wrapper_Outfile_x64=C:\Users\Administrator\Desktop\Wim打包.exe
#AccAu3Wrapper_UseUpx=y
#AccAu3Wrapper_Res_Language=2052
#AccAu3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#AccAu3Wrapper_Add_Constants=y
#EndRegion ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiStatusBar.au3>
#include <Process.au3>
FileInstall("imagex_x64.exe",@TempDir & "\imagex.exe",1)
FileInstall("jd.exe",@TempDir & "\jd.exe",1)
FileCopy(@ScriptDir &"\imagex.txt",@TempDir & "\imagex.bat",1)
Global $TITLE = "package of Wim Add"
$mht = GUICreate("Wim打包工具(打包的Wm文件可用7Z软件修改)", 450, 165,-1,-1,-1, $WS_EX_ACCEPTFILES)
GUISetBkColor(0x8C8C8C)
$Label1 = GUICtrlCreateLabel("打包目录", 8, 8, 100, 30, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Input1 = GUICtrlCreateInput("", 113, 8, 274, 30)
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Group1 = GUICtrlCreateGroup("", 2, 39, 446, 1)
$Button1 = GUICtrlCreateLabel("浏览", 392, 8, 50, 30, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 10, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Label2 = GUICtrlCreateLabel("保存目录", 8, 44, 100, 30, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Input2 = GUICtrlCreateInput("", 113, 44, 274, 30)
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Group1 = GUICtrlCreateGroup("", 2, 75, 446, 1)
$Button2 = GUICtrlCreateLabel("浏览",392, 44, 50, 30, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Label2 = GUICtrlCreateLabel("镜像名称", 8,80, 100, 30, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Input3 = GUICtrlCreateInput("", 113, 80, 274, 30)
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Group1 = GUICtrlCreateGroup("", 2, 111, 446, 1)
$Button4 = GUICtrlCreateLabel("打包", 392, 80, 50, 30,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetBkColor(-1, 0xDEE0DC)
$Group1 = GUICtrlCreateGroup("", 2, 0, 446, 138)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Progress1 = GUICtrlCreateProgress(8, 118, 434, 16)
$StatusBar1 = _GUICtrlStatusBar_Create($MHT) ;状态栏
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 15)
;状态栏显示当前时间
$Timer = DllCallbackRegister("Timer", "int", "hwnd;uint;uint;dword")
$TimerDLL = DllCall("user32.dll", "uint", "SetTimer", "hwnd", 0, "uint", 0, "int", 1000, "ptr", DllCallbackGetPtr($Timer))
$Timer2 = DllCallbackRegister("Timer", "int", "hwnd;uint;uint;dword")
$Timer2DLL = DllCall("user32.dll", "uint", "SetTimer", "hwnd", 0, "uint", 0, "int", 200, "ptr", DllCallbackGetPtr($Timer2))
$Timer3 = DllCallbackRegister("Timer", "int", "hwnd;uint;uint;dword")
$Timer3DLL = DllCall("user32.dll", "uint", "SetTimer", "hwnd", 0, "uint", 0, "int", 450, "ptr", DllCallbackGetPtr($Timer3))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
FileDelete(@TempDir & "\imagex.exe")
FileDelete(@TempDir & "\imagex.bat")
Exit
Case $Button1
$file = FileSelectFolder($TITLE,"", 1, "", $mht)
If $file Then GUICtrlSetData($Input1, $file)
If StringRight($file, 1) = "\" Then GUICtrlSetData($Input1, StringTrimRight($file, 1))
Case $Button2
$file = FileSaveDialog($TITLE,"", "Wim文件 (*.wim)", 1, "", $mht)
If $file Then GUICtrlSetData($Input2, $file)
Case $Button4
SplashTextOn('', "正在打包,请稍候!!!!!!!!!!!!", 450, 185, @DesktopWidth / 2 - 450 / 2, @DesktopHeight / 2 - 185 / 2 ,1+32, "微软雅黑", 16,$FW_SEMIBOLD)
_RunDos(@TempDir & "\imagex.bat")
;~ RunWait(@ComSpec & ' /C ' & @TempDir & "\imagex /boot/compress max" & GUICtrlRead($Input1)& " " & GUICtrlRead($Input2)& " " & GUICtrlRead($Input3))
FileDelete(@TempDir & "\imagex.exe")
FileDelete(@TempDir & "\imagex.bat")
SplashOff ( )
MsgBox(0+64,"麻花腾提示你", "打包已完成,3秒后自动退出" ,3)
Exit
EndSwitch
WEnd
Func Timer($hWnd, $uiMsg, $idEvent, $dwTime)
If $idEvent = $TimerDLL[0] Then
_GUICtrlStatusBar_SetText($StatusBar1, " 重庆麻花腾@2022 QQ:273446196 " & @YEAR & "-" & @mon & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC)
EndIf
EndFunc ;==>Timer
RunWait(@ComSpec & ' /C ' & @TempDir & "\imagex /boot/compress max" & GUICtrlRead($Input1)& " " & GUICtrlRead($Input2)& " " & GUICtrlRead($Input3)) 这一句不行。
|