乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 72|回复: 4

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

[复制链接]

3

主题

18

帖子

3

银币

初来乍到

Rank: 1

铜币
30
发表于 2010-10-21 00:52:00 | 显示全部楼层 |阅读模式
请教

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

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

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

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 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;
        }
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2010-10-22 09:27:00 | 显示全部楼层
学习了!谢谢!
回复

使用道具 举报

3

主题

18

帖子

3

银币

初来乍到

Rank: 1

铜币
30
发表于 2010-10-22 13:15:00 | 显示全部楼层
谢谢!

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

使用道具 举报

84

主题

543

帖子

12

银币

中流砥柱

Rank: 25

铜币
886
发表于 2010-11-7 21:09:00 | 显示全部楼层
学习了!谢谢!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-29 03:23 , Processed in 1.285982 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表