×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Getting the time that a file was last written to

Getting the time that a file was last written to

Getting the time that a file was last written to

(OP)
I am trying to find the time that a particular file has been written to last. The following is the code I used:

void CNodeLockIDGenDlg::OnButton1()
{

OFSTRUCT ofs;
HFILE hFile;
if(hFile=OpenFile("c:\\temp.cor", (LPOFSTRUCT) &ofs, OF_READ) == HFILE_ERROR) //temp.cor is just a file I created today
AfxMessageBox("Could not open file!!");


FILETIME lpLastWriteTime;
//FILETIME lpCreateTime;
//FILETIME lpAccessTime;


int a=GetFileTime(
(HANDLE)hFile,                 // handle to file
(LPFILETIME) NULL,    // creation time
(LPFILETIME) NULL,  // last access time
&lpLastWriteTime    // last write time
);
SYSTEMTIME lpSysTime;
if(!FileTimeToSystemTime(
&lpLastWriteTime,  // file time to convert
&lpSysTime    // receives system time
))
AfxMessageBox("Something wrong");

m_Temp=lpSysTime.wYear; //m_temp is a edit box of type DWORD
UpdateData(false);
CloseHandle((HANDLE) hFile);

}

The result I keep getting back is 1618 this happens even if I change the file that hFile is pointing to. Does anyone have any ideas on what I am doing wrong?


Cory



RE: Getting the time that a file was last written to

(OP)
I have figured out where my error is but not how to fix it.
I used getLastError() on:

 "int a=GetFileTime(
(HANDLE)hFile,                 // handle to file
(LPFILETIME) NULL,    // creation time
(LPFILETIME) NULL,  // last access time
&lpLastWriteTime    // last write time
);"

It told me that the handle hFile was invalid. Does anyone know why?

RE: Getting the time that a file was last written to

(OP)
OOH I got it. I was being stupid the line:
if(hFile=OpenFile("c:\\temp.cor", (LPOFSTRUCT) &ofs, OF_READ) == HFILE_ERROR)
should be:
if((hFile=OpenFile("c:\\temp.cor", (LPOFSTRUCT) &ofs, OF_READ)) == HFILE_ERROR)


Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close