Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Option Explicit
- Private Const OPEN_EXISTING = &H3
- Private Const FILE_SHARE_READ = &H1
- Private Const FILE_SHARE_WRITE = &H2
- Private Const GENERIC_WRITE = &H40000000
- Public Type FileTime
- dwLowDateTime As Long
- dwHighDateTime As Long
- End Type
- Public 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 Declare Function LocalFileTimeToFileTime Lib "kernel32" _
- (lpLocalFileTime As FileTime, _
- lpFileTime As FileTime) As Long
- Private Declare Function SystemTimeToFileTime Lib "kernel32" _
- (lpSystemTime As SYSTEMTIME, _
- lpFileTime As FileTime) As Long
- Private Declare Function CreateFileW Lib "kernel32.dll" _
- (ByVal lpFileName As Long, _
- ByVal dwDesiredAccess As Long, _
- ByVal dwShareMode As Long, _
- ByVal lpSecurityAttributes As Long, _
- ByVal dwCreationDisposition As Long, _
- ByVal dwFlagsAndAttributes As Long, _
- ByVal hTemplateFile As Long) As Long
- Private Declare Function CloseHandle Lib "kernel32" _
- (ByVal hObject As Long) As Long
- Private Declare Function SetFileTimeCreate Lib "kernel32" Alias "SetFileTime" _
- (ByVal hFile As Long, _
- CreateTime As FileTime, _
- ByVal LastAccessTime As Long, _
- LastModified As FileTime) As Long
- '=======================================================================================================================
- '=======================================================================================================================
- '=======================================================================================================================
- Function Settimestamp(FileName, FileDateTime)
- Dim FileHandle As Long
- Dim Res As Long
- Dim ErrNum As Long
- Dim ErrText As String
- Dim tFileTime As FileTime
- Dim tLocalTime As FileTime
- Dim tSystemTime As SYSTEMTIME
- With tSystemTime
- .wYear = Year(FileDateTime)
- .wMonth = Month(FileDateTime)
- .wDay = Day(FileDateTime)
- .wDayOfWeek = Weekday(FileDateTime) - 1
- .wHour = Hour(FileDateTime)
- .wMinute = Minute(FileDateTime)
- .wSecond = Second(FileDateTime)
- End With
- Res = SystemTimeToFileTime(lpSystemTime:=tSystemTime, lpFileTime:=tLocalTime)
- Res = LocalFileTimeToFileTime(lpLocalFileTime:=tLocalTime, lpFileTime:=tFileTime)
- FileHandle = CreateFileW(lpFileName:=StrPtr(FileName), _
- dwDesiredAccess:=GENERIC_WRITE, _
- dwShareMode:=FILE_SHARE_READ Or FILE_SHARE_WRITE, _
- lpSecurityAttributes:=ByVal 0&, _
- dwCreationDisposition:=OPEN_EXISTING, _
- dwFlagsAndAttributes:=0, _
- hTemplateFile:=0)
- Res = SetFileTimeCreate( _
- hFile:=FileHandle, _
- CreateTime:=tFileTime, _
- LastAccessTime:=0&, _
- LastModified:=tFileTime)
- CloseHandle FileHandle
- End Function
Advertisement
Add Comment
Please, Sign In to add comment