vb 窗口最大化

VB使已经最小化到任务栏的A.exe窗口最大化?求代码!谢谢... VB使已经最小化到任务栏的A.exe窗口最大化?求代码!谢谢 展开
 我来答
百度网友bdb9803
推荐于2016-04-01 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部

下面的代码以记事本为例,你修改一下进程名即可:

Option Explicit
Private Declare Function ShowWindow Lib "user32" (ByVal Hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
Private Const SW_SHOWNORMAL = 1
Private Const SW_SHOWMINIMIZED = 2
Private Const SW_SHOWMAXIMIZED = 3

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal Hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal Hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Long, ByVal lpWindowName As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal Hwnd As Long, ByVal wCmd As Long) As Long
Const GW_HWNDNEXT = 2
' 通过进程ID获得该进程的窗口句柄
Public Function InstanceToWnd(ByVal target_pid As Long) As Long
    Dim test_hwnd As Long
    Dim test_pid As Long
    Dim test_thread_id As Long
    InstanceToWnd = 0
    'On Error Resume Next
    ' 获得首个handle.
    test_hwnd = FindWindow(ByVal 0&, ByVal 0&)

    ' 循环查找直到找到为给定进程ID的窗口句柄
    Do While test_hwnd <> 0
        '检查窗口句柄是否为顶级窗口
        If GetParent(test_hwnd) = 0 Then
            ' 是顶级窗口
            ' 取该窗口所属的进程ID
            test_thread_id = GetWindowThreadProcessId(test_hwnd, test_pid)

            If test_pid = target_pid Then
                ' 是我们指定进程的窗口,则将该窗口的句柄返回到函数名,并退出
                InstanceToWnd = test_hwnd
                Exit Do
            End If
        End If

        ' 取下一个窗口的句柄
        test_hwnd = GetWindow(test_hwnd, GW_HWNDNEXT)
    Loop
End Function

Private Sub Command1_Click()
    Dim WinWnd As Long, PID As Long, pro, obj
    Set pro = GetObject("winmgmts:\\.\root\cimv2").execquery("select * from win32_process")
    For Each obj In pro
        Debug.Print obj.Name
        If obj.Name = "NOTEPAD.EXE" Then
            PID = obj.processid
            Exit For
        End If
    Next
    WinWnd = InstanceToWnd(PID)
'    WinWnd = FindWindow(vbNullString, "无标题 - 记事本")
    If WinWnd <> 0 Then
        
        ShowWindow WinWnd, SW_SHOWMAXIMIZED
    End If
End Sub
liyangA0006A
2014-07-27 · 超过55用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:129万
展开全部
WindowState = 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式