窗口关闭后如何关闭主进程?

ziyanmach 2007-07-26 05:04:04
我用了一个进程来接收数据,显示在主窗口上,但是关闭了主窗口,主进程始终存在,下一次打开后就报错.必须在任务管理器里关掉主进程.

请问各位高手:怎么样才能在闭窗口的时候关闭主进程?
试过把托管进程设置为后台进程,即在main中设置 Thread.CurrentThread.IsBackground = true;
不管用

请问还有什么方法可以?
...全文
226 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
smartstar2005 2007-07-29
  • 打赏
  • 举报
回复
楼主,你是在窗口进程中创建的接收数据的进程的吗?如果那样的话你就可以知道你创建的进程,直接Kill掉不就行了?如果是另外一个进程创建的接收数据的进程,那你在创建窗口的时候就应该把这个进程作为参数传过来,这样你就可以在窗口进程中控制了。
smartstar2005 2007-07-29
  • 打赏
  • 举报
回复
Mark
kingonehappy 2007-07-29
  • 打赏
  • 举报
回复
protected static void KillProcess(string processName)
{
System.Diagnostics.Process myproc = new System.Diagnostics.Process();
//得到所有打开的进程
try
{
foreach (System.Diagnostics.Process thisproc in System.Diagnostics.Process.GetProcessesByName(processName))
{
if (!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
}
}
catch (Exception Exc)
{
throw new Exception("", Exc);
}
}
欧文 2007-07-29
  • 打赏
  • 举报
回复
窗口关闭之前要确保线程的关闭,要不然会导致不必要的异常.
ganguozai 2007-07-29
  • 打赏
  • 举报
回复
看看.net framework提供的线程池技术(ThreadPool类)能否满足你的多线程控制要求,它比较高效。
ycqing 2007-07-28
  • 打赏
  • 举报
回复
ThreadMain.Abort()?
cjnet 2007-07-28
  • 打赏
  • 举报
回复
Application.Exit() 或
Application.CurrentThread.Close()
wzq6511 2007-07-26
  • 打赏
  • 举报
回复
在窗体的closing事件中关闭线程

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧