Vb.net 跳过关闭事件终止当前应用程序

Vb.net 跳过关闭事件终止当前应用程序,vb.net,Vb.net,有没有一种简单的方法可以在不触发任何已注册的FormClose或ApplicationExit事件的情况下终止正在运行的应用程序?类似于在任务管理器中选择流程并从中终止它 我知道这不是“干净”的方式,我知道你应该使用System.Windows.Forms.Application.Exit()或Me.Close,但在这种情况下,我真的需要用“脏”的方式 目前我唯一能想到的就是获取应用程序进程的名称,并使用System.Diagnostics.process获取实例并调用kill。但是如果有一个更

有没有一种简单的方法可以在不触发任何已注册的FormClose或ApplicationExit事件的情况下终止正在运行的应用程序?类似于在任务管理器中选择流程并从中终止它

我知道这不是“干净”的方式,我知道你应该使用
System.Windows.Forms.Application.Exit()
Me.Close
,但在这种情况下,我真的需要用“脏”的方式


目前我唯一能想到的就是获取应用程序进程的名称,并使用
System.Diagnostics.process
获取实例并调用kill。但是如果有一个更简单的方法就好了。

找到了它,
进程
有一个函数来获取当前进程

Dim process As System.Diagnostics.Process = process.GetCurrentProcess
process.Kill()

如果不希望关闭事件或关闭事件运行,则还可以删除处理程序。
然后,将不会运行,并且应用程序将在不运行这些事件中的代码的情况下关闭

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    RemoveHandler MyBase.FormClosing, AddressOf Form1_FormClosing
    RemoveHandler MyBase.FormClosed, AddressOf Form1_FormClosed
    Me.Close()
End Sub

为什么需要这样做?因为在这种情况下不应运行为应用程序关闭注册的事件。您只需在VB.NET中使用
End
关键字即可。与Environment.Exit()完全相同。最粗鲁的方式是Environment.FailFast(),甚至终结器都不会运行。Environment.Exit不会触发ApplicationClose事件吗?我明确说过我想用肮脏的方式来做。我知道您可以删除处理程序,但我在一个嵌入式API范围内,无法控制底层应用程序事件。但我需要在不保存某些设置的情况下关闭进程,这是它在关闭事件中所做的。@Ryu Kajiya你说。。。有没有一种简单的方法可以在不触发任何已注册的FormClose或ApplicationExit事件的情况下终止正在运行的应用程序?