应用程序应该杀死自己在vb.net中怎么办?在这种情况下请帮助我...
6 回答
如果它是 Windows 窗体应用程序,“最干净”的方法是关闭主窗体(例如通过调用Me.Close()
它)。
如果关闭主窗体并没有退出应用程序,则很可能您还有其他线程(不是后台线程)仍在运行。如果是这种情况,您应该调查线程仍在运行的原因(或在它们启动时将它们标记为后台线程,这样它们就不会使应用程序保持活动状态)。
如果您正在执行 winforms 应用程序,则可以使用 Application.Exit 函数。
例如,如果您想在单击按钮时退出(杀死)您的应用程序
Sub button1_Click(sender As object, e As System.EventArgs)
Application.Exit()
End Sub
Application.Exit() 应该可以解决问题(或类似的东西,在我的 ATM 中没有 VS)
这是一个Windows窗体应用程序对吗?
如果它是一个 Windows 窗体应用程序Application.Exit应该可以解决问题。
真正丑陋的方法是使用系统命令:
taskkill.exe /f /im myapplication.exe
using System.Diagnostics;
/// <summary>
/// Kill all instances of a Process by name
/// </summary>
/// <param name="name">name of the process to kill</param>
/// <example>
/// KillAllProcesses( "Outlook" );
/// </example>
private void KillAllProcesses( string name )
{
Process[] processes = Process.GetProcessesByName( name );
foreach( Process p in processes )
p.Kill();
}
这是为了杀死其他进程(不是自己)。代码在 C# 上,但我认为您将能够转换为 VB.NET。
我也将投票赞成 Form.Close() 作为关闭应用程序的最正确方法,但是有时它需要大量的设计工作(例如,当您想要在数据层发生严重异常时关闭应用程序,并且数据层有无法通知主窗体有关异常)和 Application.Exit 通常被认为是最简单的方法...
ps 另外,对于控制台应用程序,您应该使用
Environment.Exit()