我在网上搜到的一个方法如下:
    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;
本人小鸟  请个位大侠相助   谢谢了 !!!

解决方案 »

  1.   

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

  2.   

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

  3.   

    文本文档txt用记事本或其他软件打开后会立马释放资源,就是说记事本进行的是打开-读取-关闭操作,所以你即使开着记事本,也可以再次对那个文件进行复制、修改和删除操作,和没有被打开效果是一样的。