Hallo, ich möchte gerne ein progressfenster für einen bestimmten abschnitt im script schreiben. Er sollte auch verbleibende Zeit bzw. den Kopiervorgang mit anzeigen.
Ich hab hier schon ein Script das den Kopiervorgang anzeigt.
Danke für die Hilfe
Gruß,
Lasse
$sourcefile = "C:\test.exe"
$destinationfile = @ScriptDir & "\test.exe"
ProgressOn ( "Copy....", "Copying file " & StringRegExpReplace ( $sourcefile, ".*\\(.*)\Z", "$1" ))
[/autoit][autoit][/autoit][autoit]$callback = DllCallbackRegister ( "Progress" , "int", "uint64;uint64;uint64;uint64;dword;dword;ptr;ptr;ptr")
$ptr = DllCallbackGetPtr ( $callback )
DllCall("kernel32.dll", "int", "CopyFileExA", "str" , $sourcefile , "str", $destinationfile, "ptr", $ptr , "ptr", 0, "int", 0, "int", 0)
ProgressOff ()
Func Progress($TotalFileSize, $TotalBytesTransferred, $StreamSize, $StreamBytesTransferred, $dwStreamNumber, $dwCallbackReason, $hSourceFile, $hDestinationFile, $lpData)
;~ ConsoleWrite ( $TotalBytesTransferred & @lf )
ProgressSet (round($TotalBytesTransferred/$TotalFileSize * 100, 0) , round($TotalBytesTransferred/$TotalFileSize * 100, 0) & "%")
[/autoit][autoit][/autoit][autoit]EndFunc
[/autoit]