Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

GetFileDateInfo - Retrieve all date information about a file

Total Hit ( 3087)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 



Click here to copy the following block
Private Type SYSTEMTIME
  wYear As Integer
  wMonth As Integer
  wDayOfWeek As Integer
  wDay As Integer
  wHour As Integer
  wMinute As Integer
  wSecond As Integer
  wMilliseconds As Integer
End Type

Private Type FILETIME
  dwLowDateTime As Long
  dwHighDateTime As Long
End Type

Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal _
  lpFileName As String, ByVal dwDesiredAccess As Long, _
  ByVal dwShareMode As Long, ByVal NoSecurity As Long, _
  ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, _
  ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As _
  Long
Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, _
  lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, _
  lpLastWriteTime As FILETIME) As Long
Private Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As _
  FILETIME, lpSystemTime As SYSTEMTIME) As Long
Private Declare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As _
  FILETIME, lpLocalFileTime As FILETIME) As Long

Private Const GENERIC_READ = &H80000000
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2
Private Const OPEN_EXISTING = 3
Private Const INVALID_HANDLE_VALUE = -1

' Retrieve the Create date, Modify (write) date and Last Access date of
' the specified file. Returns True if successful, False otherwise.

Function GetFileTimeInfo(ByVal FileName As String, Optional CreateDate As Date, _
  Optional ModifyDate As Date, Optional LastAccessDate As Date) As Boolean

  Dim hFile As Long
  Dim ftCreate As FILETIME
  Dim ftModify As FILETIME
  Dim ftLastAccess As FILETIME
  Dim ft As FILETIME
  Dim st As SYSTEMTIME
  
  ' open the file, exit if error
  hFile = CreateFile(FileName, GENERIC_READ, _
    FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, OPEN_EXISTING, 0&, 0&)
  If hFile = INVALID_HANDLE_VALUE Then Exit Function
  
  ' read date information
  If GetFileTime(hFile, ftCreate, ftLastAccess, ftModify) Then
    ' non zero means successful
    GetFileTimeInfo = True
    
    ' convert result to date values
    ' first, convert UTC file time to local file time
    FileTimeToLocalFileTime ftCreate, ft
    ' then convert to system time
    FileTimeToSystemTime ft, st
    ' finally, make up the Date value
    CreateDate = DateSerial(st.wYear, st.wMonth, _
      st.wDay) + TimeSerial(st.wHour, st.wMinute, _
      st.wSecond) + (st.wMilliseconds / 86400000)
    
    ' do the same for the ModifyDate
    FileTimeToLocalFileTime ftModify, ft
    FileTimeToSystemTime ft, st
    ModifyDate = DateSerial(st.wYear, st.wMonth, _
      st.wDay) + TimeSerial(st.wHour, st.wMinute, _
      st.wSecond) + (st.wMilliseconds / 86400000)
    ' and for LastAccessDate
    FileTimeToLocalFileTime ftLastAccess, ft
    FileTimeToSystemTime ft, st
    LastAccessDate = DateSerial(st.wYear, st.wMonth, _
      st.wDay) + TimeSerial(st.wHour, st.wMinute, _
      st.wSecond) + (st.wMilliseconds / 86400000)
  End If
  
  ' close the file, in all cases
  CloseHandle hFile

End Function


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.