Hi Luet,
ich habe mich eben mal mit unserem API-Spezialisten beraten
Hier die Lösung für Dein Problem:
Private Declare Function CreateFile Lib "kernel32" _
Alias "CreateFileA" ( _
ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, _
lpSecurityAttributes As Any, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Private Declare Function SetFileTime Lib "kernel32" ( _
ByVal hFile As Long, _
lpCreationTime As FILETIME, _
lpLastAccessTime As FILETIME, _
lpLastWriteTime As FILETIME) As Long
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long
Private Declare Function SystemTimeToFileTime Lib "kernel32" ( _
lpSystemTime As SYSTEMTIME, _
lpFileTime As FILETIME) As Long
Private Declare Sub GetSystemTime Lib "kernel32.dll" _
(lpSystemTime As SYSTEMTIME)
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Const GENERIC_READ = &H80000000
Private Const GENERIC_WRITE = &H40000000
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2
Private Const OPEN_EXISTING = 3
Private Const FILE_FLAG_BACKUP_SEMANTICS = &H2000000 <font color=green>' Verzeichnis, dessen Daten geändert werden sollen</font>
Dim sFolder
sFolder = "D:Tempdownloads\"
<font color=green>' Klappt aber nur unter WIndows NT, 2000 und XP</font>
Dim hDir As Long
Dim STime As SYSTEMTIME
Dim FTime1 As FILETIME
Dim FTime2 As FILETIME
Dim FTime3 As FILETIME
<font color=green>' Systemzeit in 3 FileTime Konvertieren</font>
Call GetSystemTime(STime)
Call SystemTimeToFileTime(STime, FTime1)
Call SystemTimeToFileTime(STime, FTime2)
Call SystemTimeToFileTime(STime, FTime3)
<font color=green>' Verzeichnishandle ermitteln</font>
hDir = CreateFile(DirChange, GENERIC_READ Or GENERIC_WRITE, _
FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, _
OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0&)
<font color=green>' Datum des Verzeichnisses setzen
' (Erstellt, Zugegriffen, Geschrieben)</font>
Call SetFileTime(hDir, FTime1, FTime2, FTime3)
<font color=green>' Verzeichnishandle schließen</font>
Call CloseHandle(hDir) Cu
Dieter |