C# 判断文件是否被占用
作者:互联网
using System.IO; using System.Runtime.InteropServices; namespace DarkBlue.FileOccupied { public sta class FileHlper { [DllImport("kernel32.dll")] public static extern IntPtr _lopen(string lpPathName, int iReadWrite); [DllImport("kernel32.dll")] public static extern bool CloseHandle(IntPtr hObject); public const int OF_READWRITE = 2; public const int OF_SHARE_DENY_NONE = 0x40; public readonly IntPtr HFILE_ERROR = new IntPtr(-1); public bool IsOccupied(string fileFullNmae) { if (!File.Exists(fileFullNmae)) return false; IntPtr vHandle = _lopen(fileFullNmae, OF_READWRITE | OF_SHARE_DENY_NONE); var flag = vHandle == HFILE_ERROR; CloseHandle(vHandle); return flag; } } }
标签:文件,kernel32,IntPtr,C#,占用,fileFullNmae,int,vHandle,public 来源: https://www.cnblogs.com/shengfly/p/16371278.html