如果,使用了SendMessage winHwnd, WM_SYSCOMMAND, SC_MAXIMIZE, ByVal 0&
没反应

解决方案 »

  1.   

    代码没有问题,可能是句柄不对。下面的代码,可以将记事本最大化:
    Option ExplicitPublic Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPublic Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPublic Const WM_SYSCOMMAND = &H112Public Const SC_MAXIMIZE = &HF030&
    Option ExplicitPrivate Sub Command1_Click()
    Dim hwnd As Long    hwnd = FindWindow("Notepad", vbNullString)
        
        SendMessage hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, ByVal 0&
    End Sub
      

  2.   

    没那么复杂,简单一点,用ShowWindow:Option Explicit
    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 Form_Load()
        ShowWindow lHwnd,SW_MAXIMIZE'lHwnd是已知一个窗体的句柄
    End Sub