Declare Sub GetSystemTimeAsFileTime Lib "kernel32" (lpSystemTimeAsFileTime As FILETIME)
GetSystemTimeAsFileTime получает текущие системные дату и время и передает эти значения структуре FILETIME. Время всегда показывается по Гринвичу
GetSystemTimeAsFileTime не возвращает значений
' Set the modification time of C:\MyApp\test.txt to ' the current system date and time. Leave the other times as they ' were before calling the function Dim hFile As Long ' дескриптор к открываемому файлу Dim ctime As FILETIME ' время создания файла Dim atime As FILETIME ' время последнего открытия файла Dim mtime As FILETIME ' время последнего изменения файла Dim retval As Long ' возвращаемое значение ' Сначала, откроем файл C:\autoexec.bat hFile = CreateFile("C:\autoexec.bat", GENERIC_READ, FILE_SHARE_READ, ByVal CLng(0), OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, 0) If hFile = -1 Then Debug.Print "Невозможно открыть файл" End ' выходим из программы End If ' Получаем время создания, последнего открытия и изменения файла retval = GetFileTime(hFile, ctime, atime, mtime) ' Передаем системное время по Гринвичу в структуру FILETIME GetSystemTimeAsFileTime mtime ' Устанавливаем полученные даты создания, ' последнего открытия и изменения файла в файл retval = SetFileTime(hFile, ctime, atime, mtime) ' Закрываем файл для освобождения ресурсов retval = CloseHandle(hFile)
GetSystemTime, SystemTimeToFileTime