Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:重复启动

1楼
lur320 发表于:2024/4/3 15:38:00
 Static mu As System.Threading.Mutex
Dim sucess As Boolean = False
mu = New System.Threading.Mutex(True, "productionsystem", sucess)
If Not sucess Then
    
    e.HideSplashForm = True
    MessageBox.Show("系统已经在运行,系统不支持重复开启!")
这里加什么代码可以关闭已有的线程?
    e.Cancel = True
End If

之前在论坛学的放置重复启动的反复,通过mutex来闲置只有1个线程可以访问。

现在想在判断有重复线程时,关闭之前的线程。怎么做?
2楼
有点蓝 发表于:2024/4/3 15:48:00
这个不合理,反正都要打开一个,既然有之前打开了的程序,就应该继续使用,不然可能导致没有保存的数据丢失。
3楼
lur320 发表于:2024/4/3 15:52:00
 因为之前打开的界面不存在。异常关闭了但是mutex还在。
4楼
有点蓝 发表于:2024/4/3 16:06:00
如果经常异常关闭,应该是项目里有不合理的代码和设置,应该去查找并改正这些错误,而不是这种简单粗暴的对待。如果说只是偶尔出现的情况,手工到任务管理器里找到进程关闭好了。

如果要强制杀进程可以使用kill

Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
For Each p As System.Diagnostics.Process In ps
    'output.show(p.processName)
    If ("Foxtable.exe(如果是的程序改为在任务管理器种看到的进程名称即可)" = p.ProcessName)
        p.kill
    End If
Next
5楼
lur320 发表于:2024/4/3 16:10:00
 异常关闭经常出现在升级的时候,员工点升级后,升级完成的界面出来后会立刻再次开启,其实这时候主文件并没有被升级包里面的替换,就会卡死。关闭软件进程也还在

6楼
有点蓝 发表于:2024/4/3 16:30:00
不要在升级后自己写代码重启,应该彻底关闭,然后重新打开程序。
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02539 s, 2 queries.