应用程序退出后在计算机上运行的进

时间:2017-02-10 21:29:35

标签: c# visual-studio process formclosing

我有一个问题,我使用C#和Window Forms在visual studio上创建了一个应用程序,但每次运行时,如果应用程序关闭(由人员手动或到达结束时),它将继续在该进程上运行计算机,所以如果我打开和关闭应用程序3次,将有3个进程激活相同的名称。我怎样才能防止这种情况发生?到目前为止,关闭它的唯一方法是使用Window Task Manager手动关闭它,这很痛苦......

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

如果你想杀死所有进程并退出应用程序,那么首先你需要在后台杀死线程

Application.ExitThread();

然后退出应用程序

Environment.Exit();

答案 1 :(得分:0)

您可以使用Saif的强制后台线程中止的答案,但我建议您更好地管理线程。如果你的线程运行了很长一段时间,你应该有一个标志(可以从代码中的任何地方访问的布尔值)告诉线程它们应该停止运行。这是比

更安全的方法
Application.ExitThread();

因为它允许您刷新和关闭流,断开套接字连接或整理你在线程中所做的任何事情。

答案 2 :(得分:-1)

基于此问题,您可以检查应用程序是否在应用程序启动时运行。这样,只有在没有运行的情况下才会启动该过程:

我要检查一下记事本:

Process[] pname = Process.GetProcessesByName("notepad");
if (pname.Length == 0)
{
   //The application is not running. Start your process here
}
else
{
   //Your application is running. Do nothing
}