1

应用程序应该杀死自己在vb.net中怎么办?在这种情况下请帮助我...

4

6 回答 6

3

如果它是 Windows 窗体应用程序,“最干净”的方法是关闭主窗体(例如通过调用Me.Close()它)。

如果关闭主窗体并没有退出应用程序,则很可能您还有其他线程(不是后台线程)仍在运行。如果是这种情况,您应该调查线程仍在运行的原因(或在它们启动时将它们标记为后台线程,这样它们就不会使应用程序保持活动状态)。

于 2009-08-03T08:06:50.573 回答
2

如果您正在执行 winforms 应用程序,则可以使用 Application.Exit 函数。

例如,如果您想在单击按钮时退出(杀死)您的应用程序

Sub button1_Click(sender As object, e As System.EventArgs)
   Application.Exit()
End Sub
于 2009-08-03T07:57:52.077 回答
1

Application.Exit() 应该可以解决问题(或类似的东西,在我的 ATM 中没有 VS)

这是一个Windows窗体应用程序对吗?

于 2009-08-03T07:59:10.137 回答
1

如果它是一个 Windows 窗体应用程序Application.Exit应该可以解决问题。

于 2009-08-03T08:01:57.493 回答
1

真正丑陋的方法是使用系统命令:

taskkill.exe /f /im myapplication.exe

于 2009-08-03T08:12:23.927 回答
0
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()
于 2009-08-03T08:14:41.647 回答