以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  发布的软件,如何避免重复打开?谢谢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10024)

--  作者:雨中的泪
--  发布时间:2011/5/18 19:50:00
--  发布的软件,如何避免重复打开?谢谢
发布的软件,如何避免重复打开?谢谢
--  作者:狐狸爸爸
--  发布时间:2011/5/18 21:28:00
--  
没有提供此功能。
--  作者:zfwwlq
--  发布时间:2011/5/18 23:39:00
--  
以下是引用雨中的泪在2011-5-18 19:50:00的发言:
发布的软件,如何避免重复打开?谢谢

前几天有人做过啊 自己搜搜


--  作者:程兴刚
--  发布时间: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


--  作者:程兴刚
--  发布时间: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)


--  作者:古奇
--  发布时间:2011/5/21 8:56:00
--  

另一种方法:

http://www.datasoft.com.cn/dispbbs.asp?boardid=2&id=9545&authorid=0&page=0&star=1


--  作者:雨中的泪
--  发布时间:2011/5/21 11:23:00
--  

谢谢