解决方案
可以使用.NET FileStream类方法Lock和Unlock,而不是使用interop:
FileStream.Lock
http://msdn.microsoft.com/zh-CN/library/system.io.filestream.lock.aspx
FileStream.Unlock
http://msdn.microsoft.com/zh-CN/library/system.io.filestream.unlock.aspx
或者使用下面代码
public bool IsFileLocked(string filePath) { try { using (File.Open(filePath, FileMode.Open)){} } catch (IOException e) { var errorCode = Marshal.GetHRForException(e) & ((1 << 16) - 1); return errorCode == 32 || errorCode == 33; } return false; }
在.net中如何检查文件是否被锁定?
日期:2020-03-23 22:54:00 来源:oir作者:oir