Foxtable(狐表)用户栏目专家坐堂 → [求助]如何判断项目已经打开


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

主题:[求助]如何判断项目已经打开

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


加好友 发短信
等级:三尾狐 帖子:712 积分:5559 威望:0 精华:0 注册:2019/11/14 9:36:00
[求助]如何判断项目已经打开  发帖心情 Post By:2022/3/24 10:27:00 [只看该作者]

如何判断项目已经打开,是在

BeforeOpenProject事件里吗,是否是用FileIsOpened这个函数,下面红色里的代码应该怎么写,请老师指点


If FileIsOpened("ProjectPath & 测试项目已经打开.foxdb")= True Then
    MessageBox.Show("项目已经打开")
End If


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/24 11:04:00 [只看该作者]

没有办法判断Foxtable项目是否已经打开。
如果要控制项目不能重复打开,看这个:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=96880

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


加好友 发短信
等级:三尾狐 帖子:712 积分:5559 威望:0 精华:0 注册:2019/11/14 9:36:00
  发帖心情 Post By:2022/3/24 11:20:00 [只看该作者]

我用以下代码,可以实现,但是弹出窗口总是最小化在状态栏, 怎么能让它显示在桌面
static mu As System.Threading.Mutex
Dim sucess As Boolean = False
mu = new System.Threading.Mutex(True, "aaabbbccc", sucess)
If not sucess Then
    e.Cancel = True
    e.hidesplashform = True     '关闭Foxtable的启动封面
    MessageBox.Show("项目已经在运行,请勿重复打开!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/24 11:22:00 [只看该作者]

这个没有办法控制

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


加好友 发短信
等级:三尾狐 帖子:712 积分:5559 威望:0 精华:0 注册:2019/11/14 9:36:00
  发帖心情 Post By:2022/3/24 11:53:00 [只看该作者]

我让项目先打开,再退出项目,基本上实现不重复打开的功能

AfterOpenProject事件
static mu As System.Threading.Mutex
Dim sucess As Boolean = False
mu = new System.Threading.Mutex(True, "aaabbbccc", sucess)
If not sucess Then
    MessageBox.Show("项目已经在运行,即将关闭重复打开的项目!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Syscmd.Project.Exit()
    Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
End If

 回到顶部