IT天空

 找回密码
 加入我们

手机号码,快捷登录

搜索

[分享] 将论坛那个漂亮的文件复制进度条作了一个修改,

[复制链接]
www8899 发表于 2023-1-27 00:44:45 | 显示全部楼层 |阅读模式

本帖最后由 www8899 于 2023-1-27 21:05 编辑

QQ截图20230127205949.png
QQ截图20230127210245.png


更新 了一下

#PRE_Icon=D:\圆形图标\Contacts.ico
#PRE_Outfile=C:\Users\Administrator\Desktop\文件备份恢复工具.exe
#PRE_UseX64=n
#PRE_Res_Comment=麻花腾专用文件备份恢复工具
#PRE_Res_Description=麻花腾专用文件备份恢复工具
#PRE_Res_LegalCopyright=麻花腾专用文件备份恢复工具
#PRE_Res_Language=2052
#PRE_Res_requestedExecutionLevel=highestAvailable
#PRE_Add_Constants=y
#EndRegion ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
; *** AutoIt3Wrapper 开始 ***
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <WinAPIFiles.au3>
#include <Timers.au3>
#include <Date.au3>
_WinAPI_Wow64EnableWow64FsRedirection(False)
_skins3()

$MHT = GUICreate("麻花腾专用文件备份恢复工具", 470, 220 , -1, -1, -1,  $WS_EX_TOPMOST)
;~  GUICtrlSetDefBkColor(0x0000ff)
$Pro0Text = GUICtrlCreateLabel("", 150,20, 100, 30 ,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 400, 1, "微软雅黑")
$SJ = GUICtrlCreateLabel("", 255,20, 90, 30 ,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 400, 1, "微软雅黑")
$Pro = GUICtrlCreateProgress(10,52 , 450, 16)
$ProText = GUICtrlCreateLabel("", 10, 72  ,450, 22 ,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 11, 400, 1, "微软雅黑")
$Pro2 = GUICtrlCreateProgress(10, 97, 450,16)
$Pro2Text = GUICtrlCreateLabel("", 10, 118 , 450, 30,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 11, 400, 1, "微软雅黑")

$cinput=GUICtrlCreateCombo("D:\文件备份",10,156,220,26)
GUICtrlSetFont(-1, 10, 400, 1, "微软雅黑")
GUICtrlSetData($cinput, "E:\文件备份|F:\文件备份|G:\文件备份|H:\文件备份|I:\文件备份|J:\文件备份|K:\文件备份|L:\文件备份", "D:\文件备份")
GUICtrlSetTip(-1, "可以手动输入目录。")

$back = GUICtrlCreateButton("备份文件到", 10,186, 220, 27)
GUICtrlSetFont(-1, 10, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0)

$copy= GUICtrlCreateButton("恢复文件到", 240,186, 220, 27)
GUICtrlSetFont(-1, 10, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0)

$cinput1=GUICtrlCreateCombo("U:\",240,156,220,26)
GUICtrlSetFont(-1, 10, 400, 1, "微软雅黑")
GUICtrlSetData($cinput1, "E:\|F:\|G:\|H:\|I:\|J:\|K:\|L:\", "U:\")
GUICtrlSetTip(-1, "可以手动输入目录。")

FileInstall("d:\au3\2.ico", @TempDir & "\3.sys", 1)
$logo1 = GUICtrlCreateIcon(@TempDir & "\3.sys", -1, 10, 10, 120, 120)

FileDelete(@TempDir & "\3.sys")
$kb=GUICtrlCreateLabel("我命由我不由天",170,56,190,50,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 15 , 600, 1, "微软雅黑")
GUICtrlCreateGroup("", 2,0,469,  148 )
GUICtrlCreateGroup("", 2,149  ,466, 69 )
WinSetTrans("麻花腾专用文件备份恢复工具","",200)
$pf1 = GUICtrlCreateRadio("", 450, 10, 10, 10, $BS_CENTER, $BS_VCENTER)

$pf2 = GUICtrlCreateRadio("", 440, 10, 10, 10, $BS_CENTER, $BS_VCENTER)

$pf3 = GUICtrlCreateRadio("", 430, 10, 10, 10, $BS_CENTER, $BS_VCENTER)

$pf4 = GUICtrlCreateRadio("", 420, 10, 10, 10, $BS_CENTER, $BS_VCENTER)
GUISetState()
Local $IUPT=GUICtrlRead($cinput1,1)
Local $IUPT1=GUICtrlRead($cinput,1)
GUICtrlSetData  ( $copy, "从" & $IUPT &  "恢复文件到" & $IUPT1)
GUICtrlSetData  ( $back, "从" & $IUPT1 & "备份文件到" & $IUPT)
Dim $timer = TimerInit(), $Day = 0
GUICtrlSetState ( $Pro, 32)
GUICtrlSetState ( $Pro2, 32)
;~  _copy()
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case  $GUI_EVENT_CLOSE
                        Exit
                Case $copy
                        Local $IUPT1=GUICtrlRead($cinput,1)
                _COPY()
                Case $back
                _back()
                Case $pf1
                        _skins1()
                Case $pf2
                        _skins2()
                Case $pf3
                        _skins3()
                Case $pf4
                        _skins4()
        EndSwitch
WEnd
Func _copy()
       AdlibRegister('Timer', 1000)
           GUICtrlSetState ( $logo1, 32)
           GUICtrlSetData  ( $copy, "从" & $IUPT &  "恢复文件到" & $IUPT1)
            GUICtrlSetState ( $Pro, 16)
        GUICtrlSetState ( $Pro2, 16)
                GUICtrlSetState ( $kb, 32)
                GUICtrlSetState ($Pro0Text,16)
                GUICtrlSetState ( $copy, 128)
                GUICtrlSetState ( $back, 128)
                GUICtrlSetData( $back, "书山有路勤为径,学海无涯苦作舟")
         GUICtrlSetData  ( $copy, "正在恢复从:从" & GUICtrlRead($cinput )&"<到>"&GUICtrlRead($cinput1))
                ProgressCopy(GUICtrlRead($cinput ),GUICtrlRead($cinput1,0 ))
                GUICtrlSetState ( $copy, 16)
                GUICtrlSetState ( $back, 16)
                GUICtrlSetState ( $kb, 16)
                GUICtrlSetState ( $Pro0Text, 32)
                GUICtrlSetState ( $Pro2Text, 32)
                GUICtrlSetState ( $copy, 64)
                GUICtrlSetState ( $back, 64)
                GUICtrlSetData ( $back, "备份文件")
                GUICtrlSetData ( $copy, "恢复文件")
                AdlibUnRegister('Timer')
                GUICtrlSetState ( $logo1, 16)
;~                 Exit
EndFunc
Func _back()
           AdlibRegister('Timer', 1000)
           GUICtrlSetState ( $logo1, 32)
            GUICtrlSetData  ( $back, "从" & $IUPT1 & "备份文件到" & $IUPT)
            GUICtrlSetState ( $Pro, 16)
        GUICtrlSetState ( $Pro2, 16)
                GUICtrlSetState ( $kb, 32)
                GUICtrlSetState ( $copy, 128)
                GUICtrlSetState ( $back, 128)
                GUICtrlSetData( $copy, "书山有路勤为径,学海无涯苦作舟")
                GUICtrlSetData  ( $back, "正在备份:从" & GUICtrlRead($cinput1 )&"<到>"&GUICtrlRead($cinput ))
                ProgressCopy(GUICtrlRead($cinput1 ),GUICtrlRead($cinput,0))
                GUICtrlSetState ( $copy, 16)
                GUICtrlSetState ( $back, 16)
                GUICtrlSetState ( $kb, 16)
                GUICtrlSetState ( $Pro0Text, 32)
                GUICtrlSetState ( $Pro2Text, 32)
                GUICtrlSetState ( $copy, 64)
                GUICtrlSetState ( $back, 64)
                GUICtrlSetData ( $back, "备份文件")
                GUICtrlSetData ( $copy, "恢复文件")
                AdlibUnRegister('Timer')
                GUICtrlSetState ( $logo1, 16)
;~                 Exit
EndFunc
Func ProgressCopy($current, $destination, $UseMultiColour=0, $attrib = "-R", $overwrite = 1 ,$Run1 = 0 )
If $Run1 = 0 Then
Global $OverallQty, $Overall, $source, $overallpercent, $Pro0Text, $Pro, $ProText, $Pro2, $Pro2Text, $LocalPercent
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
If not FileExists ($Destination) then DirCreate ($Destination); This is why it was failing, the dir did not exist
$source = $current
If StringRight($current, 1) = '\' Then $current = StringTrimRight($current, 1)
If StringRight($destination, 1) <> '\' Then $destination = $destination & "\"
$tosearch = $current
$Overall = DirGetSize($tosearch, 1)
$OverallQty = $Overall[1]
$Run1 = 1
EndIf
$Size = DirGetSize($current, 3)
$Qty = $Size[1]
Local $search = FileFindFirstFile($current & "\*.*")
While 1
Dim $file = FileFindNextFile($search)
If @error Or StringLen($file) < 1 Then ExitLoop
If Not StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
$Qty -= 1
$LocalPercent = 100 - (($Qty / $Size[1]) * 100)
$OverallQty -= 1
$overallpercent = 100 - (($OverallQty / $Overall[1]) * 100)
GUICtrlSetData($Pro0Text, "已完成:"& Int($overallpercent) & "%")
GUICtrlSetData($Pro, $overallpercent)
GUICtrlSetData($Pro2, $LocalPercent)
GUICtrlSetData($Pro2Text, "正在拷贝: " & $file &"文件" )

If $useMultiColour then
GUICtrlSetColor($Pro2, _ChangeColour($LocalPercent))
GUICtrlSetColor($Pro, _ChangeColour($OverallPercent))
EndIf
FileCopy($current & "\" & $file, $destination & StringTrimLeft($current, StringLen($source)) & "\" & $file,$overwrite)
FileSetAttrib($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file, $attrib)
EndIf
If StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
DirCreate($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file)
FileSetAttrib($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file, $attrib)
GUICtrlSetData($ProText, "拷贝路径:" & $current & "\" & $file)
ProgressCopy($current & "\" & $file, $destination, $UseMultiColour, $attrib, $overwrite,1)
EndIf
WEnd
FileClose($search)
If $overallpercent = 100 Then
GUICtrlSetData($Pro2Text, "已完成: 100% ")
GUICtrlSetData($Pro , 100)
GUICtrlSetData($Pro2, 100)
Sleep(100)
GUICtrlSetData($Pro2Text, 32)
GUICtrlSetState ( $Pro, 32)
GUICtrlSetState ( $Pro2, 32)
;~ GUICtrlSetState ( $kb, 16)
$Run1 = 0
EndIf
EndFunc ;==>ProgressCopy
Func _ChangeColour($start)
$Redness = Int(255 - ($start / 100 * 512))
If $Redness < 0 Then $Redness = 0
$Greeness = Int(($start / 100 * 512) - 257)
If $Greeness < 0 Then $Greeness = 0
$Blueness = Int(255 - ($Redness + $Greeness))
Return ($Redness * 256 * 256) + ($Greeness * 256) + $Blueness
EndFunc
Func _skins1()
        FileInstall("D:\AU3\Skin\1.she", @TempDir & "\1.she", 1)
        FileInstall("d:\au3\Skin.dll", @TempDir & "\Skin.dll", 1)
        $skins = @TempDir & "\1.she"
        $Dll = DllOpen(@TempDir & "\Skin.dll")
        DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
        DllCall($Dll, "int", "SkinH_SetAero", "int", 1)
        FileDelete(@TempDir & "\Skin.dll")
        FileDelete(@TempDir & "\1.she")

EndFunc   ;==>_skins1

Func _skins2()
        FileInstall("D:\AU3\Skin\2.she", @TempDir & "\1.she", 1)
        FileInstall("d:\au3\Skin.dll", @TempDir & "\Skin.dll", 1)
        $skins = @TempDir & "\1.she"
        $Dll = DllOpen(@TempDir & "\Skin.dll")
        DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
        DllCall($Dll, "int", "SkinH_SetAero", "int", 1)
        FileDelete(@TempDir & "\Skin.dll")
        FileDelete(@TempDir & "\1.she")
EndFunc   ;==>_skins2
Func _skins3()
        FileInstall("D:\AU3\Skin\3.she", @TempDir & "\1.she", 1)
        FileInstall("d:\au3\Skin.dll", @TempDir & "\Skin.dll", 1)
        $skins = @TempDir & "\1.she"
        $Dll = DllOpen(@TempDir & "\Skin.dll")
        DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
        DllCall($Dll, "int", "SkinH_SetAero", "int", 1)
        FileDelete(@TempDir & "\Skin.dll")
        FileDelete(@TempDir & "\1.she")
EndFunc   ;==>_skins3
Func _skins4()
        FileInstall("D:\AU3\Skin\4.she", @TempDir & "\1.she", 1)
        FileInstall("d:\au3\Skin.dll", @TempDir & "\Skin.dll", 1)
        $skins = @TempDir & "\1.she"
        $Dll = DllOpen(@TempDir & "\Skin.dll")
        DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
        DllCall($Dll, "int", "SkinH_SetAero", "int", 1)
        FileDelete(@TempDir & "\Skin.dll")
        FileDelete(@TempDir & "\1.she")
EndFunc   ;==>_skins4
Func Timer()
        Local $Secs, $Mins, $Hour, $Time, $ticks, $sTime
        $ticks = Int(TimerDiff($timer))
        If $ticks >= 86400000 Then
                $Day += 1
                $timer = TimerInit()
                $ticks = 0
        EndIf
        _TicksToTime($ticks, $Hour, $Mins, $Secs)
        $Time = StringFormat('' & '%02s:%02s:%02s', $Hour, $Mins, $Secs)
        If $sTime <> $Time Then
                        GUICtrlSetData($SJ, $Time)
                EndIf
        $sTime = $Time
EndFunc   ;==>Timer 文件备份恢复工具.7z (723.42 KB, 下载次数: 6)






459500160 发表于 2023-1-27 14:54:34 | 显示全部楼层

活跃 7147| 技术 0| 互助 10| 钻石 200

可以用它制作了部署系统时的进度提示吗?比如正在解压到D盘,正在激活系统,正在激活office。。。。
ykd_sz 发表于 2023-1-28 10:16:06 | 显示全部楼层

活跃 7156| 技术 0| 互助 1| 钻石 10

大佬把這個軟件開源了啊,贊!!!!!!!!!
 楼主| www8899 发表于 2023-2-15 01:38:37 | 显示全部楼层

活跃 1738| 技术 3| 互助 6| 钻石 0

捕获.PNG

又更新 了一下
#Region ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
#AccAu3Wrapper_Icon=D:\多彩图标\apps\falkon.ico
#AccAu3Wrapper_Outfile=C:\Users\Administrator\Desktop\Twist File_back.exe
#AccAu3Wrapper_UseX64=n
#AccAu3Wrapper_Res_Fileversion=1.0.0.1
#AccAu3Wrapper_Res_Fileversion_AutoIncrement=p
#AccAu3Wrapper_Res_Language=2052
#AccAu3Wrapper_Res_requestedExecutionLevel=highestAvailable
#AccAu3Wrapper_Add_Constants=y
#EndRegion ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
#include <StaticConstants.au3>
; *** AutoIt3Wrapper 结束 ***
#include <GUIConstants.au3>
#include <WinAPIFiles.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <Process.au3>
#include <Timers.au3>
#include <Date.au3>
_WinAPI_Wow64EnableWow64FsRedirection(False)
FileInstall("D:\au3\Skin\斜黑风格.she", @TempDir & "\3.she", 1)
        FileInstall("D:\au3\Skin\Skin.dll", @TempDir & "\", 1)
        $skins = @TempDir & "\3.she"
        $Dll = DllOpen(@TempDir & "\Skin.dll")
        DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
        DllCall($Dll, "int", "SkinH_SetAero", "int", 1)
        FileDelete(@TempDir & "\3.she")
If FileExists(@ScriptDir & "\cofing.ini") Then
Else
        FileInstall("D:\au3\QT\cofing.ini", @ScriptDir & "\cofing.ini", 1)
        FileSetAttrib(@ScriptDir & "\cofing.ini", "+H", 1)
EndIf
Local $cofing = @ScriptDir & "\cofing.ini"
Local $backlj = IniRead($cofing, "LJ", "back", "")
Local $Reselj = IniRead($cofing, "LJ", "Rese", "")
$MHT = GUICreate("Twist File_back  ||麻花腾文件备份还原工具。版本 V 1.0.0.1", 700, 412)
$Pro = GUICtrlCreateProgress(10, 335, 680, 15)
$Pro2 = GUICtrlCreateProgress(10, 355, 680, 15)

$SJ = GUICtrlCreateLabel("", 10, 190, 680, 25, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 14, 600, 1, "浪漫雅圆")

$Pro0Text = GUICtrlCreateLabel("", 10, 220, 680, 40, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 25, 650, 1, "浪漫雅圆")

$ProText = GUICtrlCreateLabel("", 10, 295, 680, 25, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 400, 1, "浪漫雅圆")

$Pro2Text = GUICtrlCreateLabel("", 10, 265, 680, 25, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 400, 1, "浪漫雅圆")
$back = GUICtrlCreateButton("back", 620, 376, 70, 28) ;,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 400, 1, "浪漫雅圆")
$Rese = GUICtrlCreateButton("Rese", 542, 376, 70, 28) ;,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 400, 1, "浪漫雅圆")
$ini = GUICtrlCreateButton("INI", 485, 376, 50, 28) ;,BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 400, 1, "浪漫雅圆")
$setupfont = GUICtrlCreateButton("安装所缺字体", 360, 376, 118, 28)
GUICtrlSetFont(-1, 12, 400, 1, "浪漫雅圆")
$BK = GUICtrlCreateLabel("请打开INI编辑备份、恢复路径。", 10, 376, 345, 28, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 400, 1, "浪漫雅圆")
FileInstall("D:\AU3\一键还原\ICO\LOGO.ICO", @TempDir & "\LOGO.ICO", 1)
GUICtrlCreateIcon(@TempDir & "\LOGO.ico", -1, 282, 18, 136, 136)
GUICtrlCreateGroup("", 2, 1, 696, 410)
;~ WinSetTrans("MoveSoft","",200)
GUICtrlCreateLabel("", 10, 331, 680, 1, $SS_BLACKRECT)
GUICtrlCreateLabel("", 10, 406, 680, 1, $SS_BLACKRECT)
GUICtrlCreateLabel("", 10, 373, 680, 1, $SS_BLACKRECT)
GUICtrlCreateLabel("", 10, 169, 680, 1, $SS_BLACKRECT)
$GROUP = GUICtrlCreateGroup("备份|还原路径", 10, 178, 680, 150)
GUICtrlSetFont(-1, 9, 400, 1, "浪漫雅圆")
GUICtrlCreateGroup("知识能改变命运??", 10, 10, 680, 150)
GUICtrlSetFont(-1, 9, 400, 1, "浪漫雅圆")
$www = GUICtrlCreateLabel("", 160, 210, 380, 40, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 550, 1, "浪漫雅圆")
$www1 = GUICtrlCreateLabel("", 160, 255, 380, 40, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 12, 550, 1, "浪漫雅圆")
GUISetState()
DKINI()

Dim $timer = TimerInit(), $Day = 0
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $setupfont
;~                                 GUICtrlSetState($setupfont, 128)
                        GUICtrlSetData($BK, "正在安装字体,请稍候......")
                        FileInstall("D:\au3\FONT\font\SIMYOU", @TempDir & "\SIMYOU.TTF", 1)
                        FileInstall("D:\au3\FONT\font\浪漫雅园", @TempDir & "\浪漫雅园.ttf", 1)
                        FileInstall("D:\au3\FONT\font\时尚中黑简体", @TempDir & "\时尚中黑简体.ttf", 1)
                        FileInstall("D:\au3\FONT\FontRegx64.exe", @TempDir & "\FontRegx64.exe", 1)
                        FileInstall("D:\au3\FONT\FontRegx86.exe", @TempDir & "\FontRegx86.exe", 1)
                        FileInstall("D:\au3\FONT\fonts.bat", @TempDir & "\fonts.bat", 1)
                        _RunDos(@TempDir & "\fonts.bat")
                        Sleep(1000)
                        FileDelete(@TempDir & "\FontRegx64.exe")
                        FileDelete(@TempDir & "\FontRegx86.exe")
                        FileDelete(@TempDir & "\fonts.bat")
                        Run("Twist File_back.exe")
                                Exit
                Case $back
                        GUICtrlSetState($www, 32)
                        GUICtrlSetState($www1, 32)
                        AdlibRegister('Timer', 1000)
                        _BACK()
                        GUICtrlSetState($www, 64 + 16)
                        GUICtrlSetState($GROUP, 64 + 16)
                        GUICtrlSetState($www1, 64 + 16)
                        GUICtrlSetState($Pro, 16)
                        GUICtrlSetState($Pro2, 16)
                Case $Rese
                        GUICtrlSetState($www1, 32)
                        GUICtrlSetState($www, 32)
                        AdlibRegister('Timer', 1000)
                        Rese()
                        GUICtrlSetState($www, 64 + 16)
                        GUICtrlSetState($GROUP, 64 + 16)
                        GUICtrlSetState($www1, 64 + 16)
                        GUICtrlSetState($Pro, 16)
                        GUICtrlSetState($Pro2, 16)
                Case $ini
                        WinSetState($MHT, "", @SW_MINIMIZE)
                        If FileExists(@ScriptDir & "\cofing.ini") Then
                                ShellExecuteWait("notepad.exe", @ScriptDir & "\cofing.ini")
                                Run("Twist File_back.exe")
                                Exit
                        Else
                                MsgBox(64, "麻花腾提示你!", "没有发现配置文件!", 3)
                                WinSetState($MHT, "", @SW_RESTORE)
                        EndIf
        EndSwitch
WEnd
Func DKINI()
        Local Const $sFilePath = (@ScriptDir & "\cofing.ini")
        Local $aArray = IniReadSection($sFilePath, "LJ")
        If Not @error Then
                For $i = 1 To $aArray[0][0]
                        GUICtrlSetData($WWW, "还原路径为:" & $aArray[1][1])
                        GUICtrlSetData($WWW1, "备份路径为:" & $aArray[2][1])
                Next
        EndIf
EndFunc   ;==>DKINI
Func Rese()
        IF FileExists($backlj) Then
        GUICtrlSetState($Pro, 16)
        GUICtrlSetState($Pro2, 16)
        ProgressCopy($Reselj, $backlj, 1)
        GUICtrlSetState($Pro, 32)
        GUICtrlSetState($GROUP, 32)
        GUICtrlSetState($www, 32)
        GUICtrlSetState($www1, 32)
        GUICtrlSetState($Pro2, 32)
        AdlibUnRegister('Timer')
        Else
              MsgBox(786448, "麻花腾提示你!", "没有发现要还原的目录!现新建1个", 3)
        DirCreate($backlj)
        GUICtrlSetState($Pro, 16)
        GUICtrlSetState($Pro2, 16)
        ProgressCopy($Reselj, $backlj, 1)
        GUICtrlSetState($Pro, 32)
        GUICtrlSetState($GROUP, 32)
        GUICtrlSetState($www, 32)
        GUICtrlSetState($www1, 32)
        GUICtrlSetState($Pro2, 32)
        AdlibUnRegister('Timer')
        EndIf
EndFunc   ;==>Rese
Func _BACK()
        IF FileExists($backlj) Then
        DirCreate($Reselj)
        GUICtrlSetState($Pro, 16)
        GUICtrlSetState($Pro2, 16)
        ProgressCopy($backlj, $Reselj, 1)
        GUICtrlSetState($Pro, 32)
        GUICtrlSetState($GROUP, 32)
        GUICtrlSetState($www, 32)
        GUICtrlSetState($www1, 32)
        GUICtrlSetState($Pro2, 32)
        AdlibUnRegister('Timer')
        Else
        AdlibUnRegister('Timer')
        MsgBox(64, "麻花腾提示你!", "没有发现要备份的目录!", 3)
        endif
EndFunc   ;==>_BACK
Func ProgressCopy($current, $destination, $UseMultiColour = 0, $attrib = "-R", $overwrite = 1, $Run1 = 0)
        If $Run1 = 0 Then
                Global $OverallQty, $Overall, $source, $overallpercent, $Pro0Text, $Pro, $ProText, $Pro2, $Pro2Text, $LocalPercent
                DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
                If Not FileExists($destination) Then DirCreate($destination) ; This is why it was failing, the dir did not exist
                $source = $current
                If StringRight($current, 1) = '\' Then $current = StringTrimRight($current, 1)
                If StringRight($destination, 1) <> '\' Then $destination = $destination & "\"
                $tosearch = $current
                $Overall = DirGetSize($tosearch, 1)
                $OverallQty = $Overall[1]
                $Run1 = 1
        EndIf
        $Size = DirGetSize($current, 3)
        $Qty = $Size[1]
        Local $search = FileFindFirstFile($current & "\*.*")
        While 1
                Dim $file = FileFindNextFile($search)
                If @error Or StringLen($file) < 1 Then ExitLoop
                If Not StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
                        $Qty -= 1
                        $LocalPercent = 100 - (($Qty / $Size[1]) * 100)
                        $OverallQty -= 1
                        $overallpercent = 100 - (($OverallQty / $Overall[1]) * 100)
                        GUICtrlSetData($Pro0Text, "" & Int($overallpercent) & "%")
                        GUICtrlSetData($Pro, $overallpercent)
                        GUICtrlSetData($Pro2, $LocalPercent)
                        GUICtrlSetData($Pro2Text, "正在拷贝: " & $file & "文件")

                        If $UseMultiColour Then
                                GUICtrlSetColor($Pro2, _ChangeColour($LocalPercent))
                                GUICtrlSetColor($Pro, _ChangeColour($overallpercent))
                        EndIf
                        FileCopy($current & "\" & $file, $destination & StringTrimLeft($current, StringLen($source)) & "\" & $file, $overwrite)
                        FileSetAttrib($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file, $attrib)
                EndIf
                If StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
                        DirCreate($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file)
                        FileSetAttrib($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file, $attrib)
                        GUICtrlSetData($ProText, "拷贝路径:" & $current & "\" & $file)
                        ProgressCopy($current & "\" & $file, $destination, $UseMultiColour, $attrib, $overwrite, 1)
                EndIf
        WEnd
        FileClose($search)
        If $overallpercent = 100 Then
                GUICtrlSetData($Pro2Text, "已完成: 100% ")
                GUICtrlSetData($Pro, 100)
                GUICtrlSetData($Pro2, 100)
                Sleep(2000)
                GUICtrlSetState($Pro2Text, 32)
                GUICtrlSetState($SJ, 32)
                GUICtrlSetState($Pro0Text, 32)
                GUICtrlSetState($ProText, 32)
                $Run1 = 0
        EndIf
EndFunc   ;==>ProgressCopy
Func _ChangeColour($start)
        $Redness = Int(255 - ($start / 100 * 512))
        If $Redness < 0 Then $Redness = 0
        $Greeness = Int(($start / 100 * 512) - 257)
        If $Greeness < 0 Then $Greeness = 0
        $Blueness = Int(255 - ($Redness + $Greeness))
        Return ($Redness * 256 * 256) + ($Greeness * 256) + $Blueness
EndFunc   ;==>_ChangeColour
Func Timer()
        Local $Secs, $Mins, $Hour, $Time, $ticks, $sTime
        $ticks = Int(TimerDiff($timer))
        If $ticks >= 86400000 Then
                $Day += 1
                $timer = TimerInit()
                $ticks = 0
        EndIf
        _TicksToTime($ticks, $Hour, $Mins, $Secs)
        $Time = StringFormat('' & '%02s:%02s:%02s', $Hour, $Mins, $Secs)
        If $sTime <> $Time Then
                GUICtrlSetData($SJ, $Time)
        EndIf
        $sTime = $Time
EndFunc   ;==>Timer


您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

www8899

1738

活跃

3

技术

6

互助
签到任务
最火的业界新闻
  • 300W快充不只一家!曝欧加系正计划极高功率
  • 300W快充遥遥领先!充电最快的Redmi新机下
  • 徕卡+双长焦史无前例!小米13 Ultra曝光
  • 700W功耗性能猛兽 售价超24万元 NVIDIA称H1
  • AMD大小核与Intel完全不一样!统一Zen4架构
  • AMD新一代APU曝光:大小核架构终于上了
  • 正面颜值堪称完美!努比亚Z50 Ultra真机亮
  • 苹果拒绝翻车!iPhone 15 Pro独享A17大曝光
  • 小米MIX Fold 3下半年登场:真全面屏MIX回
  • 创始人:RISC-V架构比ARM/x86简单好用 将成
炫酷的硬件Show
  • MARK 1 - 设计型 PC 与垂直风道
  • 好的大王,没问题大王
  • 振华SUPER FLOWER 铜皇450W 铜牌电源
  • 比小更小,Mini-STX装机
  • 华擎X99E-ITX + 银欣ML06 装机记
  • 最强双路泰坦硬管水冷 制作流程
  • 银欣FT02,双路E5工作站
  • 迟到的定制机箱小钢炮清理灰尘
  • 乔思伯UMX1 Plus,小巧的家用综合主机
  • 分体水冷第二弹-Inwin 805 infinity
有趣的美图分享
  • 作业补不完了
  • 无敌辟邪大法
  • 馕是不是有点太过分了啊?
  • 老板给我拿个软饭
  • 病人:我不就是手骨个折吗?
关注官方微信
快速回复 返回顶部 返回列表