当我注销/关机时,我的winforms应用程序没有很好地关闭。我有一个主窗体,其关闭事件被正确触发,但必须有别的东西保持我的应用程序。如果我检查Application.OpenForms,那只是我的一个主要形式。为什么我的应用程序不能关闭logoff/shutdown(c#/ .net winforms)?
棘手的问题在于,我的应用程序使用ShellWindows挂接到Internet Explorer,偶尔在IE事件触发时打开窗体。在一个或多个这些表单被打开和关闭之后,我的应用在关闭时停止关闭。
我想我正在清理所有的表单对象等,并适当地调用FinalReleaseComObject(),但我想有一些引用保持我的进程打开。有没有什么办法可以解决阻止我的应用程序正常关闭的功能?
我不是自己启动任何线程,但我确实从各种IE线程获得回调。所以我的代码在多个线程上执行,但我不启动它们,所以我想这不是我的工作来阻止它们。 – Rory 2009-02-06 17:15:32
你有没有检查过,确保你所有的IE回调函数都返回到IE?您还可以检查Visual Studio中的应用程序中运行了哪些线程(Debug-> Windows-> Threads)。显然,它可能不是一个线程,但它是一个地方。 – Bearddo 2009-02-06 17:40:55