1

我试图捕捉 Microsoft Windows 任务管理器何时关闭应用程序。我知道有这些 UnloadMode 可能性:'0 用户已从表单上的控制菜单框中选择关闭命令。'1 Unload 方法已从代码中调用。'2 当前的 Windows 环境会话正在结束。'3 Microsoft Windows 任务管理器正在关闭应用程序。'4 MDI 子窗体正在关闭,因为 MDI 窗体正在关闭。

代码:

Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'[do saving]
End Sub

但是当我使用任务管理器关闭应用程序时它什么也没做。如果我使用关闭按钮关闭 - 它会保存我需要的所有内容。问题出在哪里?

4

1 回答 1

2

如果您通过任务管理器中的进程选项卡终止,则不会执行进一步的代码,而如果您通过应用程序选项卡终止,则会执行。

在另一个论坛上看到这个答案:

通过用户“vbface”(2003-12-29):

立即(或左右)在任务管理器中终止进程会终止程序所在的位置,而不会触发进一步的事件。这就像在 VB 中放置一个 END 语句。没有清理,没有关闭进程,只是应用程序的终止。

http://www.xtremevbtalk.com/showthread.php?t=131604

于 2013-05-27T10:06:34.273 回答