窗体有一个QueryUnload事件,即:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
我查了很多的资料都说:当UnloadMode为3也就是vbAppTaskManager时表示Microsoft Windows任务管理器正在关闭应用程序,可是下面的代码根本没有效果,哪位朋友知道怎么回事啊?
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = 3 Then
        MsgBox "请不要关闭这个程序!"
        Cancel = -1
    End If
End Sub该程序编译后,当在任务管理器中关闭它时,根本就不会弹出提示窗口,也不会拒绝退出,怎么回事啊?我是在VB6+Windows XP sp3环境下测试的。

解决方案 »

  1.   

    LZ:你查找的资料有误,VB6的窗体无UnloadMode此属性.用以下代码就可:Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        MsgBox "请不要关闭这个程序!"
        Cancel = -1
    End Sub
      

  2.   

    忽然想到自己犯了一个很可笑的错误:QueryUnload是窗体的事件,在任务管理器的“应用程序”中关闭这个窗体的时候才会起作用,而我测试的却是在“进程”中结束整个进程,当然不会有反应了,呵呵,笨啊!
    谢谢楼上朋友的关注。