我需要在使用套接字下载后设置文件创建时间。在CF FileInfo.CreationTime是readonly。我尝试使用来自this topic的P / Invoke解决方案,但它不起作用:我收到错误6(句柄无效)。
根据MSDN,SetFileTime()的第一个参数必须是句柄,而在提到的主题中它是字符串,有人说它适用于他。我究竟做错了什么?如果我需要使用句柄,我如何在CF中获取此句柄以及如何更改SetFileTime()声明?
答案 0 :(得分:0)
有趣。你指出的答案显然是错误的,尽管它被接受了。
无论如何,你需要传入一个HANDLE(IntPtr,或者你想表示它),它是从对CreateFile的调用返回的 - you'll also need to P/Invoke。
[DllImport("coredll.dll")]
private static extern bool SetFileTime(IntPtr fileHandle,
ref long creationTime,
ref long lastAccessTime,
ref long lastWriteTime);
完成后请务必致电CloseHandle。