Take a look at the getFileTime() function. I think it does exactly what you are asking for. The link gives you code examples. Code signature looks like this:
BOOL WINAPI GetFileTime(
In HANDLE hFile,
_Out_opt_ LPFILETIME lpCreationTime,
_Out_opt_ LPFILETIME lpLastAccessTime,
_Out_opt_ LPFILETIME lpLastWriteTime
);
Depending on the version of Windows, you need to include the following (quoting from above link):
FileAPI.h (include Windows.h); WinBase.h on Windows Server 2008 R2,
Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003,
and Windows XP (include Windows.h)
I don't have a Windows machine so I can't check this, but you should be able to get the "last accessed" time with this information.
If you really want to know when a file gets copied, use Digital Guardian from Verdasys - http://www.verdasys.com . It is an "enterprise solution" but I know from personal experience that it is very good at doing exactly this. I consider then one of the top solutions for "data leakage prevention".