Функция GetFileTime

Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, _
    lpCreationTime As FILETIME, _
	lpLastAccessTime As FILETIME, _
	lpLastWriteTime As FILETIME) As Long

GetFileTime определяет дату и время создания, последнего обращения и последней записи в файл. Каждое из этих значений записано в структуре FILETIME

hFile
Описатель файла для определения даты создания, последнего обращения и последней модификации. Файл должен быть открыт
lpCreationTime
Дата создания файла
lpLastAccessTime
Дата последнего обращения
lpLastWriteTime
Дата последней модификации

Пример
' Определяем дату создания файла C:\autoexec.bat
Dim hFile As Long  ' описатель открытого файла
Dim ctime As FILETIME  ' дата создания файла
Dim atime As FILETIME  ' дата последнего обращения
Dim mtime As FILETIME  ' дата последней модификации
Dim thetime As SYSTEMTIME  ' для манипуляций с датами
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)
' Переводим дату создания в системное локальное время
retval = FileTimeToLocalFileTime(ctime, ctime)
' конвертируем формат FILETIME в формат SYSTEMTIME
retval = FileTimeToSystemTime(ctime, thetime)

' Выводим результат
Debug.Print "Файл создан "; thetime.wMonth; "-"; thetime.wDay; "-"; thetime.wYear

' Закрываем файл
retval = CloseHandle(hFile)

Смотри также

GetFileInformationByHandle, SetFileTime

Категория

Файлы