明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2119|回复: 4

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

[复制链接]
发表于 2010-10-21 00:52:00 | 显示全部楼层 |阅读模式

请教

 

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

 

原由:发出一个命令定义一个空database后,插入一些实体,保存起来,

       可能打开此文件查看后又去处理别的文件了,又发出此命令,重新保存,需要将原文件覆盖.

 

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

发表于 2010-10-21 18:06:00 | 显示全部楼层

        [DllImport("kernel32.dll", EntryPoint = "_lopen")]
        static extern IntPtr Lopen(string lpPathName, int iReadWrite);

        [DllImport("kernel32.dll")]
        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;
        }

发表于 2010-10-22 09:27:00 | 显示全部楼层
学习了!谢谢!
 楼主| 发表于 2010-10-22 13:15:00 | 显示全部楼层

谢谢!

 

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

发表于 2010-11-7 21:09:00 | 显示全部楼层
学习了!谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 00:26 , Processed in 0.178518 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表