现在只要我一关闭正在VB中运行的程序,就退出了整个VB。而且调试时,有时还出现“编译错误”,这样也会退出VB。请问这是怎么回事?

解决方案 »

  1.   

    可能是你用了一些不该用的API
      

  2.   

    子类处理的时候,出错后就会自动退出,是否用了API~??
      

  3.   

    Public OldWindowProc As Long
    Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public Const GWL_WNDPROC = (-4)
    Public Const WM_ACTIVATE = &H6
    Public Const WA_ACTIVE = 1
    Public Const WA_CLICKACTIVE = 2
    Public Const WA_INACTIVE = 0Public Function NewWindowProc(ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long 
        If msg = WM_ACTIVATE Then
            If (wParam = WA_ACTIVE Or wParam = WA_CLICKACTIVE) Then
                Form1.Caption = "活动窗口" `窗口得到焦点时
            Else
                Form1.Caption = "非活动窗口"  `窗口失去焦点时
            End If
        End If
      NewWindowProc = CallWindowProc(OldWindowProc, hwnd, msg, wParam, lParam) 
    End Function我用的是以上这段代码,如果不用它,怎样才能实现等效效果?
      

  4.   

    用者某些API函数之后就会这样,无办法了,只有运行之前保存一下工程