MoveFileEx

Aus API-Wiki
Version vom 4. März 2007, 19:09 Uhr von Reiner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Diese Funktion erlaubt es eine Datei oder ein Verzeichnis zu verschieben. <PRE>Declare Function MoveFileEx Lib "kernel32.dll" _ Alias "MoveFileExA" ( ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Diese Funktion erlaubt es eine Datei oder ein Verzeichnis zu verschieben.

Declare Function MoveFileEx Lib "kernel32.dll" _
                 Alias "MoveFileExA" ( _
                 ByVal lpExistingFileName As String, _
                 ByVal lpNewFileName As String, _
                 ByVal dwFlags As Long) As Long


Parameter

lpExistingFilename

Der Name der Datei / des Verzeichnisses inklusive der Verzeichnisstruktur ist anzugeben.

lpNewFileName

Der Name der Datei / des Verzeichnisses im neuen Verzeichnis (Die übergeordnete Verzeichnisstruktur ist anzugeben).

dwFlags

Erwartet eine oder mehrere der folgenden Konstanten, die weitere Optionen für den Vorgang festlegen.
Const 	MOVEFILE_COPY_ALLOWED = &H2  'Kopieren auf andere Partitionen erlaubt
Const 	MOVEFILE_CREATE_HARDLINK = &H10 'Reserviert 
Const 	MOVEFILE_DELAY_UNTIL_REBOOT = &H4 'Erst nach einem Reboot kopieren. Nicht kombinierbar mit MOVEFILE_COPY_ALLOWED
Const 	MOVEFILE_FAIL_IF_NOT_TRACKABLE = &H20 'Fehlschlag der Funktion, wenn das Dateisystem nicht benutzbar ist.
Const 	MOVEFILE_REPLACE_EXISTING = &H1 'Gleiche Dateinamen werden beim Verschieben überschrieben
Const 	MOVEFILE_WRITE_THROUGH = &H8 'Fortsetzung des Programms erst nach erfolgreichem Verschieben


Rückgabe

War die Funktion erfolgreich, so erfolgt eine Übergabe eines Wertes ungleich 0. Sollte die Funktion fehlschlagen, so kann die Fehlerursache mittels GetLastError festgestellt werden.

Beispiel

Dim lResult As Long

lResult = MoveFileEx("C:\Bla.txt", "E:\törööhöhö.txt", MOVEFILE_COPY_ALLOWED)

If lResult = 0 Then
    MsgBox "Fehler beim Verschieben des Objektes!", vbCritical, "Fehler!"
End If