【发布时间】:2019-01-18 19:04:02
【问题描述】:
我在这里阅读了数十个现有问题,他们都提出了相同的解决方案,不幸的是这些都不起作用。似乎它们仅在单击控制台应用程序上的 X 按钮时才起作用。
我在问,当控制台被强制关闭时,有没有办法运行一些代码?这意味着在任务管理器中强制关闭任务,或者操作系统出于任何原因强制关闭它。
我已经尝试了几乎所有关于本网站未解决问题的现有解决方案。这不是重复的。我再说一遍,这不是重复的。它只是要求完全不同的东西。
到目前为止,我尝试过什么吗?不,我已经尝试了所有通常的方法,为各种事件分配回调函数,但实际上没有任何效果。我以前在 WinForm 中这样做过,但不能在控制台中。
【问题讨论】:
-
我认为这不是直接可能的,但也许你可以有一个单独的后台应用程序 B 来监控你的应用程序 A 和如果 A 被强制关闭,然后应用 B 调用您的方法。但如果后台应用程序(即 B 也被强制关闭,您可以从 A 重新生成它。
-
B 如何知道 A 是否被强制关闭,而不仅仅是使用 X 软关闭?我也不喜欢 A 必须依赖另一个应用程序 B。
-
@fskdjwe 我自己没有这样做,但是当我想强制关闭一个应用程序时,我有经验,它会自行恢复。必须有另一个应用程序或服务来执行此操作,以便它们可以相互保护。
-
您可以使用句柄创建事件。请参阅 Pinvoke:pinvoke.net/default.aspx/kernel32/CreateEvent.html