我想通过VB程序来控制别的一个界面的最大化和最小化。代码如下:
模块代码:
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&FORM代码:
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Dim winWnd As Long
Private Sub Command1_Click()
Call SendMessage(hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, vbNull)
End SubPrivate Sub Command2_Click()
Call SendMessage(hWnd, WM_SYSCOMMAND, SC_MINIMIZE, vbNull)
End SubPrivate Sub Command3_Click()
winWnd = FindWindow(vbNullString, "Flash")
'问题:怎么样把winWnd的值赋给hWnd???
End Sub

解决方案 »

  1.   

    如果没自己定义过的话,hWnd默认是Me.hWnddim hWnd as long这样就可以为它赋值了,不过你别指望此举会改变窗体句柄哦,那是两个完全不同的变量
      

  2.   

    怎么还不可以啊!改变大小的还是 me.form!
      

  3.   


    改成这样!
    Private Sub Command3_Click() '先找句丙
      winWnd = FindWindow(vbNullString, "Flash")
     '问题:怎么样把winWnd的值赋给hWnd???
    End SubPrivate Sub Command1_Click()
       Call SendMessage(winWnd, WM_SYSCOMMAND, SC_MAXIMIZE, vbNull) ’把hwnd 改为winwnd
    End Sub