'============
'FILETIME.BAS (FOR WINDOWS ONLY)
'============
'Win32 API fucntions to get/set time info of a file.
'Shows when file was created, modified, accessed.
'QB64 code by Dav, AUG/2020
'All API info found on this page:
'http://allapi.mentalis.org/apilist/apilist.php
FUNCTION GetFileTime&
(BYVAL hFile&
, lpCreationTime
AS FILETIME
, lpLastAccessTime
AS FILETIME
, lpLastWriteTime
AS FILETIME
) FUNCTION SetFileTime&
(BYVAL hFile&
, lpCreationTime
AS FILETIME
, lpLastAccessTime
AS FILETIME
, lpLastWriteTime
AS FILETIME
) FUNCTION FileTimeToSystemTime&
(lpFileTime
AS FILETIME
, lpSystemTime
AS SYSTEMTIME
) FUNCTION FileTimeToLocalFileTime&
(lpFileTime
AS FILETIME
, lpLocalFileTime
AS FILETIME
)
DIM F1
AS FILETIME
, F2
AS FILETIME
, F3
AS FILETIME
, SysTime
AS SYSTEMTIME
fil$ = "qb64.exe" 'use qb64.exe for a test
PRINT "Results for file: "; fil$
'create file handle (using open as existing, so not creating a file)
hFile = CreateFileA(fil$, 0, 0, 0, OPEN_EXISTING, 0, 0)
'Get file's time info
x& = GetFileTime(hFile, F1, F2, F3)
PRINT "Invalid handle error. File not opened.":
END
'See when file was created.....
x& = FileTimeToLocalFileTime(F1, F1) 'Convert file time to local file time
x& = FileTimeToSystemTime(F1, SysTime) 'Convert file time to system file time
PRINT "Created : "; SysTime.wMonth;
"/"; SysTime.wDay;
"/"; SysTime.wYear
'See when file was last accessed.....
x& = FileTimeToLocalFileTime(F2, F1) 'Convert file time to local file time
x& = FileTimeToSystemTime(F1, SysTime) 'Convert file time to system file time
PRINT "Accessed: "; SysTime.wMonth;
"/"; SysTime.wDay;
"/"; SysTime.wYear
'See when file was last modified.....
x& = FileTimeToLocalFileTime(F3, F1) 'Convert file time to local file time
x& = FileTimeToSystemTime(F1, SysTime) 'Convert file time to system file time
PRINT "Modified: "; SysTime.wMonth;
"/"; SysTime.wDay;
"/"; SysTime.wYear
'close file handle
x& = CloseHandle(hFile)