永发信息网

如何判断一个文件是否被关闭

答案:2  悬赏:30  手机版
解决时间 2021-03-09 02:18
  • 提问者网友:鼻尖触碰
  • 2021-03-08 05:40
如何判断一个文件是否被关闭
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-03-08 06:50
利用Windows API判断文件共享锁定状态
锁是操作系统为实现数据共享而提供的一种安全机制,它使得不同的应用程序,不同的计算机之间可以安全有效地共享和交换数据。要保证安全有效地操作共享数据,必须在相应的操作前判断锁的类型,然后才能确定数据是否可读或可写,从而为开发出健壮的程序提供切实依据。
同样,在Windows中,文件可以共享模式打开,它也涉及到锁的操作问题。根据Windows中文件共享时加锁范围的大小,锁可分为全局锁和局部锁;全局锁以锁定文件全部内容为特征,而局部锁以锁定文件的局部内容为特征,且文件的锁定区域不可重复。根据Windows中文件共享时锁的操作权限分类,锁可分为:读锁,写锁,读写锁(可读可写,全局锁)。
利用上述文件中锁的区域不可重复的特性,我们可尝试给指定文件加一全局锁。若加锁成功,说明指定文件未被其它进程锁定;否则,说明有其它进程锁定了该文件。这里,我们利用两个Windows Api文件操作函数:OpenFile和CreateFile来实现锁定状态的判断
全部回答
  • 1楼网友:由着我着迷
  • 2021-03-08 06:56
呵呵,又是你 如果你的窗体只有唯一的示例,比如你有一个form1,你只show()了一个,那就比较方便 bool opened = false; foreach (form f in application.openforms) { if(f is form1) { opened = true;//说明存在这个窗体的实例 } } application.openforms就是遍历当前应用程序所有打开的窗体,遍历完了,如果opened=true,就是有了,如果是false,就是关闭了。 不过如果你的form1被show了多次,那么只能在每一个form1里设置一个public变量,或者在这个form1的tag里做些手脚了,因为总要有一个东西去判断这个form1是不是你要的啊 ^_^
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯