1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Murty

Beiträge von Murty

  • Kopieren großer Dateien mit Fortschrittsanzeige

    • Murty
    • 29. Dezember 2016 um 09:27

    @Oscar Vielen Dank für deine Hilfe :thumbup:
    Das Skript funktioniert einwandfrei, da hast du mir sehr weitergeholfen

  • Kopieren großer Dateien mit Fortschrittsanzeige

    • Murty
    • 28. Dezember 2016 um 16:09

    Hallo Cape-City,

    Danke für deine Antwort.

    Ich hatte den Teil weggelassen, da ich kein Abbruch benötige. Laut Dokumentation auf der MSDN Seite für die Funktion CopyProgressRoutine ist der Rückgabe Wert für Progress_Continue = 0.

    Ich hatte es auch bereits direkt über das ansprechen der Kernel32.dll probiert, jedoch mit gleichem Ergebnis.

    Ich verwende die Autoit Version 3.3.14.2. Auf einem Windows 10 Rechner 1607, meine Datei ist 4,4 GB groß.

  • Kopieren großer Dateien mit Fortschrittsanzeige

    • Murty
    • 28. Dezember 2016 um 13:24

    Hallo Zusammen,

    Ich möchte eine große Datei kopieren und dabei eine Fortschrittsbalken angezeigt bekommen.
    Ich habe es bereits mit der _WinAPI_CopyFileEx versucht, jedoch zeigt die GUI nur kurz die Progressbar richtig an.
    Nach ca 10 Sekunden graut das Fenster aus, und die Progressbar wird nicht mehr weiter gefüllt. Der Kopiervorgang läuft jedoch noch im Hintergrund weiter.
    Habt Ihr vielleicht eine Idee wie ich das Problem umgehen kann?
    Vielen Dank im Voraus :klatschen:

    Spoiler anzeigen
    AutoIt
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseX64=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    
    #include <APIFilesConstants.au3>
    #include <Misc.au3>
    #include <WinAPIDiag.au3>
    #include <WinAPIFiles.au3>
    
    
    Opt('TrayAutoPause', 0)
    
    
    Local $hProgressProc = DllCallbackRegister('_ProgressProc', 'bool', 'uint64;uint64;uint64;uint64;dword;dword;handle;handle;ptr')
    
    
    
    
    Local $sFile = "C:\Users\Testuser\Testdir1\Test.File"
    Local $dFile = "C:\Users\Testuser\Testdir2\Test.File"
    
    
    ProgressOn('_WinAPI_CopyFileEx()', 'Copying...', '0%')
    
    
    If Not _WinAPI_CopyFileEx($sFile, $dFile, 0, DllCallbackGetPtr($hProgressProc)) Then
    _WinAPI_ShowLastError('Error copying ' & $sFile)
    EndIf
    
    
    DllCallbackFree($hProgressProc)
    
    
    ProgressOff()
    
    
    FileDelete(@TempDir & '\Test*.tmp')
    
    
    Func _ProgressProc($iTotalFileSize, $iTotalBytesTransferred, $iStreamSize, $iStreamBytesTransferred, $iStreamNumber, $iCallbackReason, $hSourceFile, $hDestinationFile, $pData)
    #forceref $iStreamSize, $iStreamBytesTransferred, $iStreamNumber, $iCallbackReason, $hSourceFile, $hDestinationFile, $pData
    
    
    Local $iPercent = Round($iTotalBytesTransferred / $iTotalFileSize * 100)
    If $iPercent = 100 Then
    ProgressSet($iPercent, '', 'Complete')
    Else
    ProgressSet($iPercent, $iPercent & '%')
    EndIf
    EndFunc
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™