在后台运行一个监视控制程序A.EXE。在当前运行B.EXE,在运行过程中A.EXE调用C.EXE,此时C.EXE以最大化的形式打开,B.EXE最小化。问:如果想关闭C.EXE的时候,使B.EXE最大化,用VB应该怎么做???

解决方案 »

  1.   

    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
    Public Const WM_SYSCOMMAND = &H112
    Public Const SC_MAXIMIZE = &HF030&
    Public Const SC_MINIMIZE = &HF020&
    Public Const SC_RESTORE = &HF120&
    Public Const SC_CLOSE = &HF060&
    Call SendMessage(hWnd, WM_SYSCOMMAND, SC_MINIMIZE, vbNull)'最小话 hwnd 为该窗口的句柄可以使用FindWindow的到Call SendMessage(hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, vbNull)'最大化
      

  2.   

    Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    Const SW_SHOWMAXIMIZED = 3
    Private Sub Command2_Click()
    dim bbHwnd as long'B.EXE的句柄(可用FindWindow来找出)
    ShowWindow bbHwnd, SW_SHOWMAXIMIZED
    End Sub