以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎样判断是否已经有程序正在运行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4997)

--  作者:tianhe95
--  发布时间:2009/11/16 10:26:00
--  [求助]怎样判断是否已经有程序正在运行
打开狐表前,怎样判断是否已经有FoxTable程序正在运行
--  作者:狐狸爸爸
--  发布时间:2009/11/16 10:34:00
--  
for each p as  System.Diagnostics.Process in Process.GetProcesses
    output.show(p.Processname)
next

--  作者:lxl
--  发布时间:2009/11/16 10:41:00
--  
Dim Proc As New Process
If  proc.GetProcessesByName("FoxTable").Length > 1 Then
    MessageBox.Show("已经有foxtable在运行")
End If

--  作者:lxl
--  发布时间:2009/11/16 10:45:00
--  
对了 不用new也行,打开第2个foxtable才会提示
If  Process .GetProcessesByName("FoxTable").Length > 1 Then
    MessageBox.Show("已经有foxtable在运行")
End If 
[此贴子已经被作者于2009-11-16 10:46:05编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/11/16 10:57:00
--  
呵呵,还是lxl版主的代码好。
--  作者:tianhe95
--  发布时间:2009/11/16 11:06:00
--  
以下是引用lxl在2009-11-16 10:45:00的发言:
对了 不用new也行,打开第2个foxtable才会提示
If  Process .GetProcessesByName("FoxTable").Length > 1 Then
    MessageBox.Show("已经有foxtable在运行")
End If 
[此贴子已经被作者于2009-11-16 10:46:05编辑过]

谢谢lxl版主,能满足要求了


--  作者:tianhe95
--  发布时间:2009/11/16 11:14:00
--  

又有问题了,当强制退出程序时,Syscmd.Project.Exit(False),会出现以下错误
 


图片点击可在新窗口打开查看此主题相关图片如下:强制退出错误.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2009/11/16 11:29:00
--  

你在那个事件退出的啊?


--  作者:tianhe95
--  发布时间:2009/11/16 11:33:00
--  
以下是引用狐狸爸爸在2009-11-16 11:29:00的发言:

你在那个事件退出的啊?

BeforeConnectOuterDataSource 和 BeforeCloseProject
而且退出的时候还是会执行项目事件中的设置

[此贴子已经被作者于2009-11-16 11:37:34编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/11/16 11:36:00
--  
BeforeCloseProject本来就是准备退出项目了,再用Syscmd.Project.Exit(False)是多余的。