Функция GetFileInformationByHandle

Declare Function GetFileInformationByHandle Lib "kernel32" (ByVal hFile As Long, _
    lpFileInformation As BY_HANDLE_FILE_INFORMATION) As Long

GetFileInformationByHandle получает большое количество информации о файле - атрибуты, время создания, время последнего изменения, серийный номер диска, размер файла, число ссылок на файл. Данная информация хранится в структуре lpFileInformation

hFile
Описатель файла
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

Категория

Файлы