如何用API函数使窗体最大化(不是用窗体的最大化属性)?
好像是用SENDMESSAGE 函数发送一个什么信息吧?请帮忙

解决方案 »

  1.   

    ShowWindow即可Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    Private Const SW_MAXIMIZE As Long = 3ShowWindow hWnd, SW_MAXIMIZE
      

  2.   

    都可以,不过如果不是自己的窗体的话(我想楼主应该是这种情况吧,不然用Me.WindowState = 2就足够了),可能失败(当程序拦截了有关消息时),类似下面这种情况(当然拦截的时候多数用的是子类):
    Option Explicit
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const WM_SYSCOMMAND = &H112
    Private Const SC_MAXIMIZE = &HF030&
    Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    Private Const SW_MAXIMIZE As Long = 3Private Sub Command1_Click()
        SendMessage hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0
    End SubPrivate Sub Form_Load()
        ShowWindow hwnd, SW_MAXIMIZE
    End SubPrivate Sub Form_Resize()
        If Me.WindowState = 2 Then
            Me.WindowState = 0
         End If
    End Sub
      

  3.   

    Private Sub Form_Resize()
    on error resume next
        If Me.WindowState = 2 Then
            Me.WindowState = 0
         End If
    End Sub
      

  4.   

    Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
      

  5.   

    赞成用ShowWindow, 简单直接
      

  6.   

    在form_load事件里该窗体的windowstate属性改成max就行了啊