Foxtable(狐表)用户栏目专家坐堂 → 发布的软件,如何避免重复打开?谢谢


  共有12982人关注过本帖树形打印复制链接

主题:发布的软件,如何避免重复打开?谢谢

帅哥哟,离线,有人找我吗?
程兴刚
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/5/19 2:24:00 [显示全部帖子]

      变通应该可以实现吧!启动时,判断指定文本文件是否存在,否则,随意把指定内容保存为一个文本文件到指定位置,退出系统时删除这个文件!当判断指定文件存在时,说明该系统已经打开,自动退出正在打开的项目,不存在,说明该系统未打开,生成这个文件并继续打开,代码您自己做,应该在BeforeOpenProject事件研究!

 

 

BeforeOpenProject

 

在打开项目之前执行,可以在此进行一些环境上的判断,决定是否打开项目。

 

e参数属性:

File: 字符型,表示正在打开的项目文件名称,含路经。
Cancel: 逻辑型,设为True,拒绝打开项目。
 

示例

假定需要在打开项目前,检查项目文件目录中,是否存在名为ip.txt的文件,如果不存在,就拒绝打开项目:

Dim s As String = FileSys.GetParentPath(e.File) & "\ip.txt"
If
FileSys.FileExists(s) = False Then
e.Cancel =
True
MessageBox.show(
"文件丢失,无法打开此项目.")
End
if


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/5/21 8:43:00 [显示全部帖子]

项目属性的BeforeOpenProject 事件代码:

Dim s As string = FileSys.ReadAllText(FileSys.GetParentPath(e.File) & "\abc.txt")

If s = "正在使用"Then

   e.Cancel = True
   MessageBox.show("该文件正在使用,不允许重复打开此项目!")

else

   FileSys.WriteAllText(FileSys.GetParentPath(e.File) & "\abc.txt","正在使用",false)

End if

项目属性的BeforeCloseProject事件代码:

FileSys.WriteAllText(FileSys.GetParentPath(e.File) & "\abc.txt","未使用",false)


 回到顶部