+ -
当前位置:首页 → 问答吧 → C#判断文件是否已经打开

C#判断文件是否已经打开

时间:2011-12-25

来源:互联网

我在网上搜到的一个方法如下:
  private void button1_Click(object sender, EventArgs e)
  {
  bool b = IsFileOpened(@"D:\新建 Microsoft Excel 工作表.xls");
  MessageBox.Show(b.ToString());
  }

  public bool IsFileOpened(string file)
  {
  bool result = false;
  try
  {
  FileStream fs = File.OpenWrite(file);
  fs.Close();
  }
  catch (Exception e)
  {
  result = true;
  }
  return result;
  }

得到的结果如下:
  如果文件是.txt .log .dat 则文件是否打开都显示 false;
  如果文件是.doc .xls .csv 则文件打开显示true, 文件没有打开则显示false;
本人小鸟 请个位大侠相助 谢谢了 !!!

作者: wym408   发布时间: 2011-12-25

当文件被打开状态下,对文件进行删除,会失败
[DllImport("kernel32.dll")]
public static extern IntPtr _lopen(string lpPathName, int iReadWrite);

作者: wuyq11   发布时间: 2011-12-25

he he

作者: sp1234   发布时间: 2011-12-25

word判断是什么?
判断 ~$文件名.docx 存在否?

作者: MKing0412   发布时间: 2011-12-25