Windows 应用程序仍在后台进程中显示

Windows 应用程序仍在后台进程中显示,windows,vb.net,multithreading,Windows,Vb.net,Multithreading,我编写了一个在系统托盘中运行的vb.net应用程序,您可以通过右键单击图标来显示UI。首次运行时,它会显示在任务管理器的应用程序部分。但是,在运行一段时间后,仅对某些用户而言,该应用程序将从系统托盘中消失,但仍会出现在任务管理器的后台进程下 当它处于这种状态时,它实际上什么也没做,我不得不强迫它退出。我知道,如果程序退出或崩溃,但仍有活动线程,则可能发生这种情况。但应用程序并没有退出。我的应用程序为不同的进程生成线程,并且有一个主线程在后台运行循环。但是我所有的线程都将IsBackground设

我编写了一个在系统托盘中运行的vb.net应用程序,您可以通过右键单击图标来显示UI。首次运行时,它会显示在任务管理器的应用程序部分。但是,在运行一段时间后,仅对某些用户而言,该应用程序将从系统托盘中消失,但仍会出现在任务管理器的后台进程下

当它处于这种状态时,它实际上什么也没做,我不得不强迫它退出。我知道,如果程序退出或崩溃,但仍有活动线程,则可能发生这种情况。但应用程序并没有退出。我的应用程序为不同的进程生成线程,并且有一个主线程在后台运行循环。但是我所有的线程都将IsBackground设置为true,这应该可以防止出现这种情况


知道这是什么原因吗

你是如何启动你的应用程序的?您正在调用
应用程序。在
Main
方法中运行
,并传递
ApplicationContext
您首先必须弄清楚如何使应用程序处于这种状态。然后您可以附加一个调试器并查看哪些线程仍在运行,调试>窗口>线程窗口。结束一个优雅地使用线程的应用程序从来都不是一个问题,死锁总是一个可能的灾难。如果您仍然看到主线程,那么您也有很好的理由在解决方案中搜索Application.DoEvents()。我没有main函数,我只有一个启动窗体。我从来都无法复制它。但我看到它总是出现在随机客户中。