+ -
当前位置:首页 → 问答吧 → winform为什么点右上角关闭的“差”后程序退出了,但任务管理器的进程里却显示呢

winform为什么点右上角关闭的“差”后程序退出了,但任务管理器的进程里却显示呢

时间:2011-12-07

来源:互联网

winform为什么点右上角关闭的“差”后程序退出了,但任务管理器的进程里却显示呢

作者: hailun   发布时间: 2011-12-07

是不是有线程还在执行?

作者: charles_y   发布时间: 2011-12-07

是的,怎么解决呢

作者: hailun   发布时间: 2011-12-07

程序中有线程在运行吗,可能某个操作还未完成

作者: bdmh   发布时间: 2011-12-07

有线程在运行的,界面上有个“停止”功能就是停止任务的,当点停止,再点“差”进程里就没有了

但如果直接点“差”就会在任务管理器的进程里

应该如何解决呢?

作者: hailun   发布时间: 2011-12-07

把线程的IsBackground属性设成True,主线程结束以后它作为后台线程就结束了

作者: bucongmingyang   发布时间: 2011-12-07

是不是调试时,xx.vshost.exe 这个进程?

作者: ruanwei1987   发布时间: 2011-12-07

不是6楼的线程,是编译后生成的文件运行的线程

作者: hailun   发布时间: 2011-12-07

是不是有什么文件链接、数据库连接、网络连接之类的资源没有释放?

作者: lexfu   发布时间: 2011-12-07

如果你想整个程序退出,
在 form_closing事情中加 Application.Exit();

作者: keenweiwei   发布时间: 2011-12-07

这样的话,你应该有两个进程

软件.EXE
软件Service.EXE

你关掉软件.EXE另外一个还存在??

你把你的进程名字 发出来,或者截图,好确认

作者: ruanwei1987   发布时间: 2011-12-07

好像你的意思,你就一个 exe 关闭,它还存在的意思???
检查下程序是不是有继续执行的地方,

作者: ruanwei1987   发布时间: 2011-12-07

有8楼说的,应该是还有网络链接
我是在练习一下在死循环里采集的程序,当点停止的时候,在关差,就没问题
如果直接点“差”,任务管理器的进程里就还有这个“AA.EXE”存在

作者: hailun   发布时间: 2011-12-07

有的时候会是这样,但不是每次都这样吧?你试试看.

作者: cnwin   发布时间: 2011-12-07

那还真没注意,如果出现这种情况要怎么解决呢

作者: hailun   发布时间: 2011-12-07

C# code

 foreach (System.Diagnostics.Process thisprocess in allProcess)
                        {
                            if (thisprocess.ProcessName.ToLower() == "进程名字")
                            {
                                thisprocess.Kill();//杀死进程
                            }
                        }

作者: zyloveyrf   发布时间: 2011-12-07

是不是像这种采集或是扫描(就是多线程的)如果没有停止线程运行,而直接点“差”就只能把该线程杀掉呢

作者: hailun   发布时间: 2011-12-07

allProcess 怎么取到呢?

作者: hailun   发布时间: 2011-12-07