arxnew 发表于 2010-10-21 00:52:00

[求助]如何判断文件已打开

请教

已经打开了一个dwg文件. 如何判断此文件已打开的状态?

原由:发出一个命令定义一个空database后,插入一些实体,保存起来,
       可能打开此文件查看后又去处理别的文件了,又发出此命令,重新保存,需要将原文件覆盖.

出现这种情况后,该如何处理?能否给个思路,谢谢!

雪山飞狐_lzh 发表于 2010-10-21 18:06:00

      
      static extern IntPtr Lopen(string lpPathName, int iReadWrite);
      
      static extern bool CloseHandle(IntPtr hObject);
      public static bool IsOpened(string filename)
      {
            const int OF_READWRITE = 2;
            const int OF_SHARE_DENY_NONE = 0x40;
            IntPtr HFILE_ERROR = new IntPtr(-1);
            IntPtr handle = Lopen(filename, OF_READWRITE | OF_SHARE_DENY_NONE);
            if (handle == HFILE_ERROR)
            {
                return true;
            }
            CloseHandle(handle);
            return false;
      }

sieben 发表于 2010-10-22 09:27:00

学习了!谢谢!

arxnew 发表于 2010-10-22 13:15:00

谢谢!

已打开的不能强行关闭吗?

chpmould 发表于 2010-11-7 21:09:00

学习了!谢谢!
页: [1]
查看完整版本: [求助]如何判断文件已打开