Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, _ lpCreationTime As FILETIME, _ lpLastAccessTime As FILETIME, _ lpLastWriteTime As FILETIME) As Long
GetFileTime определяет дату и время создания, последнего обращения и последней записи в файл. Каждое из этих значений записано в структуре FILETIME
' Определяем дату создания файла 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