Falcon.SugarApi/Falcon.SugarApi.Windows/FileExtend.cs

37 lines
1.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Runtime.InteropServices;
namespace Falcon.SugarApi.Windows
{
/// <summary>
/// 文件操作扩展
/// </summary>
public static class FileExtend
{
[DllImport("kernel32.dll")]
private static extern IntPtr _lopen(string lpPathName,int iReadWrite);
[DllImport("kernel32.dll")]
private static extern bool CloseHandle(IntPtr hObject);
/// <summary>
/// 判断文件是否打开,并可选是否关闭
/// </summary>
/// <param name="path">文件路径</param>
/// <param name="close">True关闭文件不关闭。默认不关闭</param>
/// <returns>True文件打开False文件没有打开</returns>
public static bool IsOpen(this string path,bool close = false) {
if(!File.Exists(path)) {
return false;
}
var handle = _lopen(path,2|0x40);
if(handle==new IntPtr(-1)) {
return true;
}
if(close) {
CloseHandle(handle);
}
return false;
}
}
}