问题描述
最近想做个单实例的程序,一旦发现同名进程就干掉,但是貌似没有办法区别自身,就想用PID区分,但是查了半天没看到相关资料,就想到这里请教各路大神给个指导。原始代码很简单,就是使用GetProcessByName拉取当前进程列表,遍历后结束同名进程,但是这种方法无法区分自身,不可行。
解决方案
解决方案二:
Process.GetCurrentProcess().Id
解决方案三:
单实例的程序不是这么实现的……http://www.2cto.com/kf/201212/173920.html方法二、三,你参考下;时间关系,不多说了。
解决方案四:
引用2楼mikecheers的回复:
单实例的程序不是这么实现的……http://www.2cto.com/kf/201212/173920.html方法二、三,你参考下;时间关系,不多说了。
嘛……不是打算做严格的单实例,本身程序是一个管理不怎么严的组织形式,严格单实例容易卡死上级程序,我又不想给前级程序负责,就打算做个易失性的东西。
解决方案五:
引用1楼Forty2的回复:
Process.GetCurrentProcess().Id
好的,谢谢了
解决方案六:
你可以做一个“守护进程”,不要在其它进程里随便乱杀进程。
解决方案七:
如果是进程内部来判断是否有重复,那么进程只是判断”是否进程数量>1“,然后就把自己退出了。怎么能随便杀别的进程呢?只有守护进程才应该干这个事情。你把不同进程的职责给安排错了!
解决方案八:
既然是单实例,网上例子多多,楼主这是创新吧,只是剑走偏锋了.
时间: 2024-10-06 04:35:18