C# 在Windows CE 6.0中退出时终止应用程序
我正在ARM处理器设备上运行C# 在Windows CE 6.0中退出时终止应用程序,c#,compact-framework,windows-ce,C#,Compact Framework,Windows Ce,我正在ARM处理器设备上运行WindowsCE6.0,使用.NETCF2.0SP2,并使用C编写的应用程序 我遇到一个问题,我的应用程序在关闭后继续运行。应用程序打开与连接到设备的某物的连接,直到正确关闭后才释放。因此,在应用程序继续运行时,我无法重新打开并使用该应用程序,也无法运行希望使用连接设备的其他应用程序 我已尝试运行Application.Exit(),我的所有线程都将IsBackground属性设置为true,但这不起作用。关闭应用程序后,我可以使用任务管理器,并查看流程是否继续运行
WindowsCE6.0
,使用.NETCF2.0SP2
,并使用C
编写的应用程序
我遇到一个问题,我的应用程序在关闭后继续运行。应用程序打开与连接到设备的某物的连接,直到正确关闭后才释放。因此,在应用程序继续运行时,我无法重新打开并使用该应用程序,也无法运行希望使用连接设备的其他应用程序
我已尝试运行Application.Exit()
,我的所有线程都将IsBackground
属性设置为true
,但这不起作用。关闭应用程序后,我可以使用任务管理器,并查看流程是否继续运行
我通常会使用Environment.Exit()
,但不幸的是,这在CF中不可用
有没有什么方法可以让我尝试和使用,或者是什么原因导致了这种情况的发生
谢谢 您可以尝试以下方法:
Process thisProcess = Process.GetCurrentProcess();
thisProcess.Kill();
看看会发生什么。显然,关闭应用程序并不理想,但它可能是最后的手段,尤其是如果在此之前您正在手动处理数据的保存和丢弃。这可能会有所帮助。在调用Application.exit()之前,将线程的后台属性设置为false
private void BtnExit_Click(object sender, EventArgs e)
{
Thread1.IsBackground = false;
Thread2.IsBackground = false;
Application.exit();
}
对于仍在为此挣扎的任何人: 我发现问题在于,使用Windows CE/WEHH/.NET Compact,应用程序不会在按下表单上的X按钮时退出,它们只会最小化(意味着关闭事件不会被调用) 根据第页上的一个答案,通过将表单属性“MinimizeBox”设置为false,可以将关闭按钮更改为实际退出应用程序
this.MinimizeBox = false;
这会将X按钮更改为“确定”按钮,并将完全退出应用程序。啊,我没有想到使用它作为临时修复,它也可以工作。正如你所说的,这并不理想,但在我找出问题的原因之前,最好同时使用它。谢谢。您是否尝试在调试器中运行应用程序?您可以尝试在它处于“僵尸”状态时将其破坏,以了解是什么阻止它终止。