русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

В Win32 получить время создания, время последнего доступа и время последней модификации файла можно с помощью функции GetFileTime.


Дата добавления: 2013-12-23; просмотров: 1319; Нарушение авторских прав


Получение атрибутов файлов

BOOL GetFileTime(HANDLE hFile,

LPFILETIME lpCreationTime,

LPFILETIME lpLastAccessTime,

LPFILETIME lpLastWriteTime);

Перед вызовом данной функции, необходимо открыть файл, о значениях времени которого необходимо получить информацию. Функции GetFileTime передается дескриптор этого файла и указатели на три экземпляра структуры FILETIME, в которые будут записаны время создания (lpCreationTime), время последнего доступа (lpLastAccessTime) и время последней записи (lpLastWriteTime).

 

2) Установить время создания, последнего доступа или модификации файлов можно с помощью функции SetFileTime.

BOOL SetFileTime(HANDLE hFile,

const FILETIME *lpCreationTime,

const FILETIME *lpLastAccessTime,

const FILETIME *lpLastWriteTime ):

В качестве входных параметров функция SetFileTime принимает указатели на три экземпляра структуры FILETIME и дескриптор файла. Экземпляры структур уже заполнены необходимыми значениями времени. В случае успешного завершения функция возвращает ненулевое значение в регистре ЕАХ.

 

3) В Win32 имеется функция GetFileInformationByHandle, с помощью которой можно получить все атрибуты файла:

BOOL GetFileInformationByHandle(HANDLE hFile,

LPBY_HANDLE_FILE_INFORMATION lpFileInformation);

На вход данной функции передается дескриптор файла, о котором необходимо получить информацию, и указатель на экземпляр структуры BY_HANDLE_FILE_INFORMATION, который заполняется этой функцией. В этой структуре сосредоточена вся информация о файле.


Пример 10: Разработать Win32 - консольное приложение с использованием функции GetFileInformationByHandle.

 

;---------------------------описание структур----------------------------

FILETIME struc

DwLowDateTime dd ? ;младшие 32 бита значения времени



DwHighDateTime dd ? ;старшие 32 бита значения времени

FILETIME ends

 

BY_HANDLE_FILE_INFORMATION struc

DwFileAttributes dd 0 ;атрибуты файла

 

struc

ftCreationTime_DwLowDateTime dd ? ; младшие 32 бита времени

; создания файла

ftCreationTimeDwHighDateTime dd ? ;старшие 32 бита времени создания

; файла

Ends

 

Struc

FtLastAccessTime_DwLowDateTime dd ? ; младшие 32 бита времени

; последнего доступа

FtLastAccessTime_DwHighDateTime dd ? ; старшие 32 бита времени

; последнего доступа

еnds

 

struc

ftLastWriteTime_DwLowDateTime dd ? ; младшие 32 бита времени

; последней записи

ftLastWnteTime_DwHighDateTime dd ? ;старшие 32 бита времени

; последней записи

ends

 

dwVolumeSerialNumber dd 0 ;серийный номер тома, на котором

; находится файл

nFileSizeHigh dd 0 ; старшие 32 бита размера файла

nFileSizeLow dd 0 ; младшие 32 бита размера файла

nNumberOfLinks dd 0 ; число ссылок на файл

nFileIndexHigh dd 0 ;старшие 32 бита идентификатора файла

nFileIndexLow dd 0 ; младшие 32 бита идентификатора файла

ends

 

.data

info BY_HANDLE_FILE_INFORMATION <>

TitleText db 'Получение информации о файле в Win32',0

lpBuf db "File1.txt",0

hFile dd 0

.code

;-------------------------------------Открываем файл--------------------

push 0

push 0

push OPEN_EXISTING ; открыть существующий файл, если его нет –

; ошибка

push 0 ; защита файла не требуется

push FILE_SHARE_READ ;разрешено совместное использование файла

; (по чтению)

push GENERIC_READ ; разрешено чтение из файла

push offset lpBuf

call CreateFileA

сmp eax,0ffffffffh

je exit ; если неуспех

mov hFile,eax ; дескриптор файла

;---------------------------GetFileInformationByHandle

push offset info

push hFile

call GetFileInformationByHandle

cmp eax,0

jz exit ; выход в случае неудачи

; результат смотрим в отладчике TD32.exe

 

 

Самостоятельно на практике: Вывести все атрибуты созданного текстового файла File1.txt на консоль.

 




<== предыдущая лекция | следующая лекция ==>
Перечислим функции API Win32, имеющие отношение к работе с файловой системой. | Пример программы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.