我想在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
但是当我使用任务管理器关闭应用程序时,它什么也没做。如果我使用关闭按钮关闭 - 它会保存我需要的所有内容。问题在哪里?
答案 0 :(得分:2)
如果通过任务管理器中的进程选项卡终止,则不会执行其他代码,而如果通过应用程序选项卡终止,则会执行。
在另一个论坛上看到这个答案:
用户“vbface”(2003-12-29):
立即(或左右)在任务管理器中杀死一个进程会将程序杀死,而不会触发其他事件。这就像在VB中放置一个END语句。没有清理,没有关闭流程,只是终止应用程序。