Windows擷取檔案狀態

來源:互聯網
上載者:User

標籤:

在操作一個檔案前想要擷取當前檔案的狀態,避免正在開啟的檔案又再次的開啟,代碼參考網路以前已經寫好,分享於己作為記錄,也可作為他人的參考。

 

    #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;

 

Windows擷取檔案狀態

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.