在紧凑框架上更改文件创建时间

时间:2012-10-23 17:40:29

标签: c# .net compact-framework

我需要在使用套接字下载后设置文件创建时间。在CF FileInfo.CreationTime是readonly。我尝试使用来自this topic的P / Invoke解决方案,但它不起作用:我收到错误6(句柄无效)。

根据MSDN,SetFileTime()的第一个参数必须是句柄,而在提到的主题中它是字符串,有人说它适用于他。我究竟做错了什么?如果我需要使用句柄,我如何在CF中获取此句柄以及如何更改SetFileTime()声明?

1 个答案:

答案 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