MoveFileEx
Aus API-Wiki
Version vom 7. Oktober 2016, 21:23 Uhr von Jochen Wierum (Diskussion | Beiträge)
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
- Name der Datei / des Verzeichnisses inklusive der Verzeichnisstruktur ist anzugeben.
lpNewFileName
- 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 der VB-Funktion Err.LastDLLError festgestellt werden.
Beispiel
Dim lResult As Long
lResult = MoveFileEx("C:\OldFile.txt", "E:\NewFile.txt", MOVEFILE_COPY_ALLOWED)
If lResult = 0 Then
MsgBox "Fehler beim Verschieben des Objektes!", vbCritical, "Fehler!"
End If