请问大家怎么知道程序被最小化了?

解决方案 »

  1.   

    捕捉最小化时的消息
    WM_SYSCOMMAND
    A window receives this message when the user chooses a command from the window menu (formerly known as the system or control menu) or when the user chooses the maximize button, minimize button, restore button, or close button.WM_SYSCOMMAND 
    uCmdType = wParam;        // type of system command requested 
    xPos = LOWORD(lParam);    // horizontal position, in screen coordinates 
    yPos = HIWORD(lParam);    // vertical position, in screen coordinates 
     
    Parameters
    uCmdType 
    Specifies the type of system command requested. This parameter can be one of the following values. Value Meaning 
    SC_CLOSE Closes the window. 
    SC_CONTEXTHELP Changes the cursor to a question  with a pointer. If the user then clicks a control in the dialog box, the control receives a WM_HELP message. 
    SC_DEFAULT Selects the default item; the user double-clicked the window menu. 
    SC_HOTKEY Activates the window associated with the application-specified hot key. The low-order word of lParam identifies the window to activate. 
    SC_HSCROLL Scrolls horizontally. 
    SC_KEYMENU Retrieves the window menu as a result of a keystroke. 
    SC_MAXIMIZE Maximizes the window. 
    SC_MINIMIZE Minimizes the window. 
    SC_MONITORPOWER   Sets the state of the display. This command supports devices that have power-saving features, such as a battery-powered personal computer.
    lParam can have the following values:1 means the display is going to low power.2 means the display is being shut off.
     
    SC_MOUSEMENU Retrieves the window menu as a result of a mouse click. 
    SC_MOVE Moves the window. 
    SC_NEXTWINDOW Moves to the next window. 
    SC_PREVWINDOW Moves to the previous window. 
    SC_RESTORE Restores the window to its normal position and size. 
    SC_SCREENSAVE Executes the screen saver application specified in the [boot] section of the SYSTEM.INI file. 
    SC_SIZE Sizes the window. 
    SC_TASKLIST Activates the Start menu. 
    SC_VSCROLL Scrolls vertically. 
    xPos 
    Specifies the horizontal position of the cursor, in screen coordinates, if a window menu command is chosen with the mouse. Otherwise, the xPos parameter is not used. 
    yPos 
    Specifies the vertical position of the cursor, in screen coordinates, if a window menu command is chosen with the mouse. This parameter is –1 if the command is chosen using a system accelerator, or zero if using a mnenomic. 
    Return Values
    An application should return zero if it processes this message.Res
    The DefWindowProc function carries out the window menu request for the predefined actions specified in the previous table. In WM_SYSCOMMAND messages, the four low-order bits of the uCmdType parameter are used internally by the system. To obtain the correct result when testing the value of uCmdType, an application must combine the value 0xFFF0 with the uCmdType value by using the bitwise AND operator. The menu items in a window menu can be modified by using the GetSystemMenu, AppendMenu, InsertMenu, ModifyMenu, InsertMenuItem, and SetMenuItem functions. Applications that modify the window menu must process WM_SYSCOMMAND messages.An application can carry out any system command at any time by passing a WM_SYSCOMMAND message to DefWindowProc. Any WM_SYSCOMMAND messages not handled by the application must be passed to DefWindowProc. Any command values added by an application must be processed by the application and cannot be passed to DefWindowProc. Accelerator keys that are defined to choose items from the window menu are translated into WM_SYSCOMMAND messages; all other accelerator keystrokes are translated into WM_COMMAND messages. 
      

  2.   

    Private Sub Timer1_Timer()
    If WindowState = 1 Then
        MsgBox "最小化"
    End If
    End Sub
      

  3.   

    :),一个长篇大论,不过全是Copy&&Paste;一个寥寥几句,却直指重心。
      

  4.   

    lxcc(虫莲) 
    说的是 怎样判断 窗口状态,好象 楼主要问的是捕捉 最小化按钮 被按下的事件
      

  5.   

    其实最简单的就是判断窗体当前的TOP.WIDTH属性值就行了