Declare Function GetFileInformationByHandle Lib "kernel32" (ByVal hFile As Long, _ lpFileInformation As BY_HANDLE_FILE_INFORMATION) As Long
GetFileInformationByHandle получает большое количество информации о файле - атрибуты, время создания, время последнего изменения, серийный номер диска, размер файла, число ссылок на файл. Данная информация хранится в структуре lpFileInformation
' Покажем различную информацию о файле aoutoexec.bat Dim hfile As Long ' описатель файла Dim fileinfo As BY_HANDLE_FILE_INFORMATION ' получим информацию о файле Dim hexstring As String ' вывод серийного номера в шестнадцатиричном виде Dim retval As Long ' возвращаемое значение ' Получим описатель файла hfile = CreateFile("C:\autoexec.bat", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, 0) If hfile = -1 Then Debug.Print "Не могу открыть файл C:\autoexec.bat" End End If ' Показываем серийный номер диска retval = GetFileInformationByHandle(hfile, fileinfo) ' Получаем шестнадцатиричное значение hexstring = Hex(fileinfo.dwVolumeSerialNumber) MsgBox "Серийный номер диска C: " & hexstring ' Закрываем файл retval = CloseHandle(hfile)
GetFileAttributes, GetFileSize, GetFileTime