打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
The following files from Microsoft's WAIK
The following files from Microsoft's WAIK
ImageX.exe
wimfltr.sys
wimfltr.dll
wimgapi.dll

1. Copy all the files above into the same directory. (Extracting the zip files.)
2. Convert the autoIT code below to an ImageXGUI_v1-0.exe.(RTConsole.exe and DiskPartitioner.exe will be embedded in the covertedImageXGUI_v1-0.exe so you don't need those files after compiling).
3. I have this running on WinPE 2.0 and from XPSP2.

[ code='text' ]    ( ExpandCollapse - Popup )
#include <Constants.au3>
#include <GUIConstants.au3>
#include <Array.au3>
#include <Process.au3>
#include <String.au3>
#include <GuiTreeView.au3>
#include <Date.au3>

Dim $avDriveMapAdd[7]
$avDriveMapAdd[0]   = "Unknown Error"
$avDriveMapAdd[1]   = "Undefined / Other error"
$avDriveMapAdd[2]   = "Access to the remote share was denied"
$avDriveMapAdd[3]   = "The device is already assigned"
$avDriveMapAdd[4]   = "Invalid device name"
$avDriveMapAdd[5]   = "Invalid remote share"
$avDriveMapAdd[6]   = "Invalid password"

Dim $avPing [5]
$avPing[0] = "Unknown Error"
$avPing[1] = "Host is offline"
$avPing[2] = "Host is unreachable"
$avPing[3] = "Bad destination"
$avPing[4] = "Other errors"

; Global Settings
;
Global $line1
Global $line3
Dim $gCaptureSource
Dim $gCaptureDestination
Dim $gCaptureCompression
Dim $gCaptureFlags
Dim $gCaptureConfig
Dim $gCaptureBoot
Dim $gCaptureCheck
Dim $gCaptureName
Dim $gCaptureDescription

Dim $gApplySource
Dim $gApplyDestination
Dim $gApplyVerify
Dim $gApplyName
Dim $imageinfo
Dim $gMapLetter
Dim $gMapUser
Dim $gMapPassword
Dim $gMapShare
Dim $sIni = @ScriptDir & "\gimagex.ini"
Dim $res
Dim $foo
Dim $gCaptureDiag
Dim $gApplyDiag

;
;Check for ImageX required files
;
If FileExists(@ScriptDir & "\imagex.exe") Then;File Found
ElseIf FileExists(@ScriptDir & "\wimfltr.dll") Then;File Found
ElseIf FileExists(@ScriptDir & "\wimfltr.sys") Then;File Found
ElseIf FileExists(@ScriptDir & "\wimgapi.dll") Then;File Found
Else
    Msgbox(4096,"ImageXGUI", "You are missing one of the required files in the current folder: " & @ScriptDir & @CRLF & "ImageX will not function without these files!" & _
    @CRLF & @CRLF & "imagex.exe" & @CRLF & "wimfltr.dll" & @CRLF & "wimfltr.sys" & @CRLF & "wimgapi.dll")
EndIf  

;
; Create the main GUI
;
GUICreate("GImageX - ImageX GUI Wrapper", 640, 380, -1, -1 )
$hTab = GUICtrlCreateTab(10, 10, 620, 355)
$BaseX = 20
$BaseY = 35


; Drive Map Tab

$hTab_0 = GUICtrlCreateTabItem(" Drive Map ")

$CurX = $BaseX
$CurY = $BaseY

$CurY = $CurY + 10
GuiCtrlCreateGroup("Drive Mapping", $CurX+10, $CurY, 580, 135)
$CurY = $CurY + 18

GUICtrlCreateLabel("Letter", $CurX+20, $CurY+3)
$hMapLetter = GUICtrlCreateCombo("F:", $CurX+85, $CurY, 100, 500, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, "G:|H:|I:|J:|K:|L:|M:|N:|O:|P:|Q:|R:|S:|T:|U:|V:|W:|X:|Y:|Z:")

$CurY = $CurY + 27
GUICtrlCreateLabel("UNC Path", $CurX+20, $CurY+3)
$hMapShareEdit = GUICtrlCreateInput("\\Server\Sharename", $CurX+85, $CurY, 300)

$CurY = $CurY + 27
GUICtrlCreateLabel("Username", $CurX+20, $CurY+3)
$hMapUserEdit = GUICtrlCreateInput("Domain.com\%Username%", $CurX+85, $CurY, 300)

$CurY = $CurY + 27
GUICtrlCreateLabel("Password", $CurX+20, $CurY+3)
$hMapPasswordEdit = GUICtrlCreateInput("Password", $CurX+85, $CurY, 300, -1, $ES_PASSWORD)

$hMapButtonGo = GUICtrlCreateButton("&Map!", $BaseX+500, $BaseY+290, 100)

; Capture Tab
;
$hTab_1 = GUICtrlCreateTabItem("  Capture  ")

$CurX = $BaseX
$CurY = $BaseY

; File Group
$CurY = $CurY + 10
GuiCtrlCreateGroup("WIM Image", $CurX+10, $CurY, 580, 155)
$CurY = $CurY + 18
GUICtrlCreateLabel("Source", $CurX+20, $CurY+3)
$hCaptureSourceEdit = GUICtrlCreateInput("", $CurX+85, $CurY, 300)
$hCaptureSourceBrowse = GUICtrlCreateButton("Browse", $CurX+395, $CurY-2)

$CurY = $CurY + 27
GUICtrlCreateLabel("Destination", $CurX+20, $CurY+3)
$hCaptureDestEdit = GUICtrlCreateInput("MyWim.wim", $CurX+85, $CurY, 300)
$hCaptureDestBrowse = GUICtrlCreateButton("Browse", $CurX+395, $CurY-2)

$CurY = $CurY + 27
GUICtrlCreateLabel("Compression", $CurX+20, $CurY+3)
$hCaptureCompression = GUICtrlCreateCombo("Maximum", $CurX+85, $CurY, 100, 500, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, "Fast")

$CurY = $CurY + 27
GUICtrlCreateLabel("Name", $CurX+20, $CurY+3)
$hCaptureNameEdit = GUICtrlCreateInput("My Image Name", $CurX+85, $CurY, 300)

$CurY = $CurY + 27
GUICtrlCreateLabel("Description", $CurX+20, $CurY+3)
$hCaptureDescEdit = GUICtrlCreateInput("My Image Description", $CurX+85, $CurY, 300)

; Options Group
$CurY = $CurY + 40
GuiCtrlCreateGroup("Options", $CurX+10, $CurY, 580, 100)
$CurY = $CurY + 18

GUICtrlCreateLabel("/config", $CurX+20, $CurY+3)
$hCaptureConfigEdit = GUICtrlCreateInput("", $CurX+85, $CurY, 300)
$hCaptureConfigBrowse = GUICtrlCreateButton("Browse", $CurX+395, $CurY-2)

$CurY = $CurY + 27
GUICtrlCreateLabel("Switches", $CurX+20, $CurY+3)
$hCaptureFlagsEdit = GUICtrlCreateInput("", $CurX+85, $CurY, 300)

$CurY = $CurY + 27
$hCaptureBootCheck = GUICtrlCreateCheckbox("/boot (WinPE Images Only) ", $CurX+20, $CurY)
$hCaptureCheckCheck = GUICtrlCreateCheckbox("/check", $CurX+190, $CurY)
$hCaptureDiagCheck = GUICtrlCreateCheckbox("Display ImageX Console Window", $CurX+260, $CurY)

$hCaptureButtonGo = GUICtrlCreateButton("&Capture!", $BaseX+500, $BaseY+290, 100)


;
; Apply Tab
;
$hTab_2 = GUICtrlCreateTabItem("  Apply  ")

$CurX = $BaseX
$CurY = $BaseY

; File Group
$CurY = $CurY + 10
GuiCtrlCreateGroup("WIM Image", $CurX+10, $CurY, 580, 205)
$CurY = $CurY + 18
GUICtrlCreateLabel("1. Source", $CurX+20, $CurY+3)
$hApplySourceEdit = GUICtrlCreateInput("MyWim.wim", $CurX+85, $CurY, 300)
$hApplySourceBrowse = GUICtrlCreateButton("Browse", $CurX+395, $CurY-2)

$CurY = $CurY + 27
GUICtrlCreateLabel ("Input Image Number", $CurX+15, $CurY+30, 70, 30)
$hApplyName = GUICtrlCreateInput("1", $CurX+85, $CurY+30, 40, 20)
$hApplyNameBrowse= GUICtrlCreateButton("2. Poll Image Number", $CurX+15, $CurY+1)
$treeview = GUICtrlCreateTreeView ( 150, 90, 450, 120, BitOr($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
$CurY = $CurY + 27
GUICtrlCreateLabel("Destination", $CurX+20, $CurY+103)
$hApplyDestEdit = GUICtrlCreateInput("", $CurX+85, $CurY+100, 300)
$hApplyDestBrowse = GUICtrlCreateButton("Browse", $CurX+395, $CurY+98)

; Options Group
$CurY = $CurY + 40
GuiCtrlCreateGroup("Options", $CurX+10, $CurY+100, 580, 50)
$CurY = $CurY + 18
Dim $hReboot = GUICtrlCreateCheckbox ( "Automatically Reboot", $CurX+20, $CurY+105, 125, 15)
$hApplyVerifyCheck = GUICtrlCreateCheckbox("/verify", $CurX+150, $CurY+105, 50, 15 )
$hApplyDiagCheck = GUICtrlCreateCheckbox("Display ImageX Console Window", $CurX+210, $CurY+105, 200, 15 )

Dim $hDPart = GUICtrlCreateButton ( "Partition/Format", $BaseX+390, $BaseY+290, 100)
$hApplyButtonGo = GUICtrlCreateButton("&Apply!", $BaseX+500, $BaseY+290, 100)

;
; Set Default Options
;
LoadSettings()
SettingsToGUI()
;
; The GUI message loop
;
GuiSetState()
While 1
    $msg = GuiGetMsg()
    Select
       ; General Messages
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
           
           ; Capture Messages
        Case $msg = $hCaptureButtonGo
            DoCapture()
        Case $msg = $hCaptureSourceBrowse
            $sDir = BrowseForDirectory()
            if $sDir Then GUICtrlSetData($hCaptureSourceEdit, $sDir)
        Case $msg = $hCaptureDestBrowse
            $sFile = BrowseForWimToSave()
            if $sFile Then GUICtrlSetData($hCaptureDestEdit, $sFile)
        Case $msg = $hCaptureConfigBrowse
            $sFile = BrowseForConfig()
            If $sFile Then GUICtrlSetData($hCaptureConfigEdit, $sFile)

           ; Apply Messages
        Case $msg = $hDPart
            MsgBox(4144, "DiskPart GUI", "*** USE AT YOUR OWN RISK *** | *** USE AT YOUR OWN RISK ***" & @CRLF & @CRLF & _
            "      *You may need to reboot for the changes to take effect.*" & @CRLF & @CRLF & _
            "     If you just format a partition you do not need to reboot.")
            FileInstall("DiskPartitioner.exe", @ScriptDir & "\DiskPartitioner.exe")
            RunWait(@ScriptDir & '\DiskPartitioner.exe')
            FileDelete(@ScriptDir & "\Diskpartitioner.exe")
        Case $msg = $hApplyNameBrowse
            PollImage()
        Case $msg = $hApplyButtonGo
            DoApply()
        Case $msg = $hApplyDestBrowse
            $sDir = BrowseForDirectory()
            if $sDir Then GUICtrlSetData($hApplyDestEdit, $sDir)
        Case $msg = $hApplySourceBrowse
            $sFile = BrowseForWimToLoad()
            if $sFile Then GUICtrlSetData($hApplySourceEdit, $sFile)

         ; Drive Map Messages
        Case $msg = $hMapButtonGo
            DoMapping()

        Case Else
           ;;;
    EndSelect
WEnd

Exit


;
; FUNCTIONS
;

Func BrowseForDirectory()
    $sDir = FileSelectFolder("Select source folder", "")
    If StringRight($sDir, 1) = "\" Then $sDir = StringTrimRight($sDir, 1)
    Return $sDir
EndFunc


Func BrowseForWimToSave()
    $sFile = FileSaveDialog( "Select destination file", "", "WIM Files (*.wim)", 3)
    If @error Then Return ""
   
    If StringRight($sFile, 4) <> ".wIM" Then $sFile = $sFile & ".wim"

    Return $sFile
EndFunc


Func BrowseForWimToLoad()
    $sFile = FileOpenDialog( "Select source file", "", "WIM Files (*.wim)", 3)
    If @error Then Return ""

    Return $sFile
EndFunc


Func BrowseForConfig()
    $sFile = FileOpenDialog("Select config file", @ScriptDir, "INI files (*.ini)", 1)
    If @error Or StringRight($sFile, 4) <> ".ini" Then Return ""

    Return $sFile
EndFunc


Func DoCapture()
    $sCmd = '"' & @ScriptDir & '\imagex.exe"'
   
    If $gCaptureConfig <> "" Then $sCmd = $sCmd & ' /config "' & $gCaptureConfig & '"'
   
    If $gCaptureCompression = "fast" Then
        $sCmd = $sCmd & " /compress fast"
    Else
        $sCmd = $sCmd & " /compress maximum"
    EndIf
   
    If $gCaptureCheck = 1 Then $sCmd = $sCmd & " /check"
    If $gCaptureBoot = 1 Then $sCmd = $sCmd & " /boot"
    If $gCaptureFlags <> "" Then $sCmd = $sCmd & ' ' & $gCaptureFlags
   
;   $sCmd = $sCmd & ' /capture /scroll "' & $sDir & '" "' & $sFile & '"'
    $sCmd = $sCmd & ' /capture /scroll "' & GUICtrlRead($hCaptureSourceEdit) & '" "' & GUICtrlRead($hCaptureDestEdit) & '"'
    $sCmd = $sCmd & ' "' & GUICtrlRead($hCaptureNameEdit) & '" "' & GUICtrlRead($hCaptureDescEdit) & '"'
    If GUICtrlRead($hCaptureDiagCheck) = '1' Then
        $ret = RunWait($sCmd, @WorkingDir, @SW_SHOW)
    Else
        $ret = ShowProgress($sCmd, 'Capturing...')
    EndIf
   ;$ret = RunWait($sCmd, @WorkingDir, @SW_SHOW)
    If $ret = '0' Then
        SplashTextOn ( 'ImageX Status', 'Image Successfully Created!', 400, 50, -1, -1, 32, "Tahoma", 14, 500)
        Sleep (3000)
        SplashOff ()
    Else
        SplashTextOn ( 'ImageX Status', 'ImageX.exe ERROR : ' & $ret, 400, 50, -1, -1, 32, "Tahoma", 14, 500)
        Sleep (5000)
        SplashOff ()
    EndIf

EndFunc

Func PollImage ()
    Dim $nitem
    Dim $imageinfo = " "
    $read = GUICtrlRead ($hApplySourceEdit)
    $sCmd = "imagex.exe"
    If $read = "" Then
        MsgBox (48, "Input required", "Please select the source")
    Else
        $sCmd = $sCmd & ' /info "' & $read & '"'
    EndIf
   ;MsgBox(0, "scmd", $sCmd)
    Dim $ret = Run(@ComSpec & " /c " & $sCmd & '"', @ScriptDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD )
    While 1
    $line = StdoutRead($ret)   
    If $line = "" Then  ExitLoop
    $imageinfo = $imageinfo & $line
;   MsgBox(0, "RunDOS", $line)
    If @error Then ExitLoop
    WEnd
     _GUICtrlTreeViewDeleteAllItems ($treeview)
    $aImageInfo = _StringBetween ( $imageinfo, "<NAME>", "</NAME>" )
        If @error Then $aImageInfo = _ArrayCreate("<Empty>")
    $aImageDesc = _StringBetween ( $imageinfo, "<Description>", "</Description>" )
        If @error Then $aImageDesc = _ArrayCreate("<Empty>")
    $aImageFileCount = _StringBetween ( $imageinfo, "<Filecount>", "</Filecount>" )
        If @error Then $aImageFileCount = _ArrayCreate("<Empty>")
   ;$aImageBuild = _StringBetween ( $imageinfo, "<Build>", "</Build>" )
;   If @error Then $aImageBuild = _ArrayCreate("<Empty>")
    $imagenumber = UBound ($aImageInfo, 1)
        If @error Then $imagenumber = _ArrayCreate("<Empty>")
    $x = 0
    Dim $nitem[$imagenumber]
    Do
    $nitem[$x] = GUICtrlCreateTreeViewItem ( "Image: #" & $x +1 & ": " & $aImageInfo[$x], $treeview )
    GUICtrlCreateTreeViewItem ( "Description: " & $aImageDesc [$x], $nitem[$x] )
    GUICtrlCreateTreeViewItem ( "File Count: " & $aImageFileCount [$x], $nitem[$x] )
   ;GUICtrlCreateTreeViewItem ( "Build Version: " & $aImageBuild [$x], $nitem[$x] )
    GUICtrlSetState($nitem[$x], $GUI_DEFBUTTON)
    $x = $x + 1
    Until $x = $imagenumber
EndFunc

Func DoApply()
    If StringInStr(GUICtrlRead(47, 1),'Image: #') > 0 Then
        Dim $arINum = StringSplit(GUICtrlRead(47, 1), '#')
        GUICtrlSetData($hApplyName, StringLeft($arINum[2],1))
    Else
        Msgbox(4096,"Apply", "You must select the image to apply." & @CRLF & "Example: Image: #1")
        Return
    EndIf
    $sCmd = '"' & @ScriptDir & '\imagex.exe"'
       
    If $gApplyVerify = 1 Then $sCmd = $sCmd & " /verify"
    $sCmd = $sCmd & ' /apply /scroll "' & GUICtrlRead($hApplySourceEdit) & '" "' & GUICtrlRead($hApplyName) & '" "' & GUICtrlRead($hApplyDestEdit) & '"'
   
    If GUICtrlRead($hApplyDiagCheck) = '1' Then
        $ret = RunWait($sCmd, @WorkingDir, @SW_SHOW)
    Else
        $ret = ShowProgress($sCmd, 'Applying...')
    EndIf
    If $ret = '0' Then
        SplashTextOn ( 'ImageX Status', 'Image Successfully Applied!', 400, 50, -1, -1, 32, "Tahoma", 14, 500)
        Sleep (3000)
        SplashOff ()
    Else
        SplashTextOn ( 'ImageX Status', 'ImageX.exe ERROR : ' & $ret, 400, 50, -1, -1, 32, "Tahoma", 14, 500)
        Sleep (5000)
        SplashOff ()
    EndIf
    $Rebootstate = GUICtrlRead ($hReboot)
    If $Rebootstate = 1 Then
    _RunDOS("Start wpeutil reboot")
    EndIf
EndFunc

Func DoMapping()
    $gMapLetter = GUICtrlRead ( $hMapLetter )
    DriveMapDel($gMapLetter)
    $gMapShare = GUICtrlRead ( $hMapShareEdit );IniRead($sIni, "Map", "Share", "\\SERVER\SHARE")
    $VistaAccount = GUICtrlRead ( $hMapUserEdit )
    $VistaPwd = GUICtrlRead ( $hMapPasswordEdit )
;   Msgbox(0,"MAP",$gMapLetter & $gMapShare & $VistaAccount & $VistaPwd)
    $res = DriveMapAdd($gMapLetter, $gMapShare, 0, $VistaAccount, $VistaPwd)
   
    If $res Then
        SplashTextOn ( 'Mapping Drive...', 'Drive successfully mapped!', 250, 50, -1, -1, 32, "Tahoma", 14, 500)
        sleep (2000)
        SplashOff()
    Else
        MsgBox(16, "Drive Mapping", "Error mapping drive! Code: " & $avDriveMapAdd[@error])
    EndIf  
EndFunc

Func LoadSettings()
    $sIni = @ScriptDir & "\gimagex.ini"
   
    $gCaptureSource = IniRead($sIni, "CAPTURE", "Source", "")
    $gCaptureDestination = IniRead($sIni, "CAPTURE", "Destination", "MyWim.wim")
    $gCaptureCompression = IniRead($sIni, "CAPTURE", "Compression", "Maximum")
    $gCaptureFlags = IniRead($sIni, "CAPTURE", "Flags", "")
    $gCaptureConfig = IniRead($sIni, "CAPTURE", "Config", "")
    $gCaptureBoot = IniRead($sIni, "CAPTURE", "Boot", "1")
    $gCaptureCheck = IniRead($sIni, "CAPTURE", "Check", "1")
    $gCaptureName = IniRead($sIni, "CAPTURE", "Name", "My Build Name")
    $gCaptureDescription = IniRead($sIni, "CAPTURE", "Description", _Now())
    $gCaptureDiag = IniRead($sIni, "CAPTURE", "Diag", "0")
;
    $gApplySource = IniRead($sIni, "APPLY", "Source", "")
    $gApplyDestination = IniRead($sIni, "APPLY", "Destination", "MyWim.wim")
    $gApplyVerify = IniRead($sIni, "APPLY", "Verify", "0")
    $gApplyName = IniRead($sIni, "APPLY", "Name", "1")
    $gApplyDiag = IniRead($sIni, "APPLY", "Diag", "0")

    $gMapLetter = IniRead($sIni, "MAP", "Letter", "M:")
    $gMapShare = IniRead($sIni, "MAP", "Share", "\\Server\Share")
    $gMapUser = IniRead($sIni, "MAP", "User", "User")

EndFunc

Func SettingsToGUI()

   ; CAPTURE
    GUICtrlSetData($hCaptureSourceEdit, $gCaptureSource)
    GUICtrlSetData($hCaptureDestEdit, $gCaptureDestination)
    GUICtrlSetData($hCaptureCompression, $gCaptureCompression)
    GUICtrlSetData($hCaptureFlagsEdit, $gCaptureFlags)
    GUICtrlSetData($hCaptureConfigEdit, $gCaptureConfig)
    If $gCaptureBoot = 1 Then
        GUICtrlSetState($hCaptureBootCheck, $GUI_CHECKED)
    Else
        GUICtrlSetState($hCaptureBootCheck, $GUI_UNCHECKED)
    EndIf
    If $gCaptureCheck = 1 Then
        GUICtrlSetState($hCaptureCheckCheck, $GUI_CHECKED)
    Else
        GUICtrlSetState($hCaptureCheckCheck, $GUI_UNCHECKED)
    EndIf
    If $gCaptureDiag = 1 Then
        GUICtrlSetState($hCaptureDiagCheck, $GUI_CHECKED)
    Else
        GUICtrlSetState($hCaptureDiagCheck, $GUI_UNCHECKED)
    EndIf
    GUICtrlSetData($hCaptureNameEdit, $gCaptureName)
    GUICtrlSetData($hCaptureDescEdit, $gCaptureDescription)
   
   ; APPLY
    GUICtrlSetData($hApplySourceEdit, $gApplySource)
    GUICtrlSetData($hApplyDestEdit, $gApplyDestination)
    If $gApplyVerify = 1 Then
        GUICtrlSetState($hApplyVerifyCheck, $GUI_CHECKED)
    Else
        GUICtrlSetState($hApplyVerifyCheck, $GUI_UNCHECKED)
    EndIf
    If $gApplyDiag = 1 Then
        GUICtrlSetState($hApplyDiagCheck, $GUI_CHECKED)
    Else
        GUICtrlSetState($hApplyDiagCheck, $GUI_UNCHECKED)
    EndIf
    GUICtrlSetData($hApplyName, $gApplyName)

   ; MAP
    GUICtrlSetData($hMapLetter, $gMapLetter)
    GUICtrlSetData($hMapShareEdit, $gMapShare)
    GUICtrlSetData($hMapUserEdit, $gMapUser)
    GUICtrlSetData($hMapPasswordEdit, $gMapPassword)

EndFunc

Func ShowProgress($sCmd, $ImageType)
;Include rtconsole.exe for progress bar.
;
FileInstall("rtconsole.exe", @ScriptDir & "\rtconsole.exe")

;Msgbox(0,"RUN",'"' & @ScriptDir & '\rtconsole.exe" ' & $sCmd)
$foo = Run('"' & @ScriptDir & '\rtconsole.exe" ' & $sCmd,'','',2+4)
$line1 = '0'
ProgressOn('Imagex', 'ImageX', $line1)

While 1
    $line = StdoutRead($foo)
    if StringInStr($line, 'ImageX Tool for Windows') <> 0 then $line = 0
    if StringInStr($line, 'Progress: 100%') <> 0  then ExitLoop
    if StringInStr($line, 'Error') <> 0  then ExitLoop
    $line = StringStripWS($line, 7)
    if StringInStr($line, ',') <> 0 Then
;   $line2 = StringSplit($line, ',')
;   $line3 = StringRight($line2[2], StringLen($line2[2])-1)
    EndIf
    $line3 = StringSplit($line, @CRLF)
    $line1 = StringSplit($line, '%')
    $line = StringRight($line1[1], 2)
    If @error Then ExitLoop
    If $line <> "" Then
        ProgressSet($line, $line3[1], $ImageType)
    EndIf
Wend

ProgressOff()
FileDelete(@ScriptDir & "\rtconsole.exe")
EndFunc

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一个c语言写的俄罗斯方块的代码
OpenCV_连通区域分析与标记
【第十二节】PyQt5俄罗斯方块
Codeforces - 1195E - OpenStreetMap - 单调队列
疯狂ios讲义之自定义UI控件
你的童年有俄罗斯方块吗?教你用 Python 实现俄罗斯方块!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服