Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: GetFileTime Добавлено: 30.01.04 13:32  

Автор вопроса:  cresta

Всем здравствуйте. Такой вопрос: кто-нибудь работал с ф-цией GetFileTime? Когда ф-ция запрашивает инфу о файле,

Private Type FILETIME

dwLowDateTime As Long

dwHighDateTime As Long

End Type

Dim Ft1 As FILETIME, Ft2 as FILETIME, Ft3As FILETIME

GetFileTime lngHandle, Ft1, Ft1, Ft2

Ft1, Ft2,Ft3 - время создания, последней коррекции и последнего запуска

 который в данное время не открыт, возвращает нормальные значения, а вот когда допустим, ехе файл запущен, то его данные возвращаются неправильные, можно ли как-то сделать, чтобы данные о файле возвращались правильные, независимо от того, запущен он или нет?

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 POD_Luka



ICQ: 334099107 

Вопросов: 10
Ответов: 19
 Профиль | | #1 Добавлено: 30.01.04 13:45

А через FileSystemObject - FSO это по моему просто сделать...

FSO - это расширенные возможности работы с файлами, папками и дисководами. С помощью FSO можно создовать папки(и файлы), удалять, копировать, перемищать, смотреть дату создания, изменения...

хочешь мыльну инструкцию...

Ответить

Номер ответа: 2
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #2 Добавлено: 30.01.04 14:56

Никогда не сталкивался. Как это "данные возвращаются неправильные"? Поточнее можно?

Ответить

Номер ответа: 3
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #3 Добавлено: 30.01.04 16:27

To POD_Luka  : Да это жуткое дело FSO, к тому же я хочу запихнуть эту ф-цию в DLL, и думаю через FSO ничего хорошего не выйдет

To LamerOnLine :
Подробнее: получаю lngHandle файла при помощи CreateFile, затем этот lngHandle как указатель и Ft1, Ft2, Ft3 -три буфера для возвращаемых значений - передаю в GetFileTime. GetFileTime возвращает Ft1, Ft2, Ft3 с заполнеными датами. Затем при помощи FileTimeToLocalFileTime и FileTimeToSystemTime привожу их в нормальный вид (дд.мм.гггг). Если файл не запущен на исполнение, то возвращаются правильные даты создания, последней коррекции и последнего запуска, например:  22/1/2004,  26/1/2004,  30/1/2004,  а вот если файл в данное время запущен, и при этом запрашиваешь эти параметры, то получаешь 1/1/1601,  1/1/1601,  1/1/1601. При этом ещё и длину файла ф-ция GetFileSize показывает как -1. А как обойти это - не знаю...

Ответить

Номер ответа: 4
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #4 Добавлено: 30.01.04 16:50

Проблема интересна и стоит заняться ее изучением. Но для начала объясни - чем тебя не устроила стандартная VB функция FileDateTime?

Ответить

Номер ответа: 5
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #5 Добавлено: 30.01.04 20:38
Да, проблема весьма интересная, даже не проблема, а то что её решение обещает... А FileDateTime - я вобще-то я про неё и не слышал, а что она может?

Ответить

Номер ответа: 6
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #6 Добавлено: 30.01.04 23:30
функция FileDateTime не выдаёт время последнего запуска , только время коррекции файла.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам