Windows 파일 가져오기 상태

3433 단어 windows
한 파일을 조작하기 전에 현재 파일의 상태를 가져오려면 열려 있는 파일이 다시 열리지 않도록 해야 한다. 코드 참고 네트워크는 이전에 이미 작성되어 있고 자신에게 공유되어 기록이 될 수도 있고 다른 사람의 참고가 될 수도 있다.
 
    #region Get file status

    [DllImport("kernel32.dll")]

    private static extern IntPtr _lopen(string lpPathName,int iReadWrite);

    

    [DllImport("kernel32.dll")]

    private static extern bool CloseHandle(IntPtr hObject);

    

    private const int OF_READWRITE=2;

    private const int OF_SHARE_DENY_NONE=0x40;

    private static readonly IntPtr HFILE_ERROR=new IntPtr(-1);

    

    private static int getFileStatus(string fileFullName)

    {

      if(!File.Exists(fileFullName))

      {

        return -1;//file not exists

      }

      IntPtr handle=_lopen(fileFullName,OF_READWRITE|OF_SHARE_DENY_NONE);

      if(handle==HFILE_ERROR)

      {

        return 1;//aready open

      }

      CloseHandle(handle);

      return 0;//not open

    }

    #endregion

 
네임스페이스를 참조해야 합니다.
using System.Runtime.InteropServices;

좋은 웹페이지 즐겨찾기