热情软件屋

 

如何得到其他应用程序运行中窗口的状态


编号:QA002755
建立日期: 2000年3月21日 最后修改日期:2000年3月23日
所属类别:

张欣:
    操作系统: win98
    编程工具: vb6
    问题: 请问:我如何可以得到其他应用程序运行中窗口的状态(最大,最小,NOMAL)?

回答:

    使用API的GetWindowPlacement函数可以做到。
    
    张欣
    谢谢你帮我解决问题,可我已经这样试过,但GETWINDOWPLACEMENT返回的WINDOWPLACEMENT参数的SHOWCMD总是返回0,我不知是那里错了,我希望能给我一个简单的示例以及GETWINDOWPLACEMENT的介绍!多谢!
    回答:
    你肯定没有设置WINDOWPLACEMENT结构的Length成员。在调用API时必须牢记,如果有Length成员必须设置,否则无法得到正确结果。下面是一个例子:
    Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
    Private Type RECT
     Left As Long
     Top As Long
     Right As Long
     Bottom As Long
    End Type
    Private Type POINTAPI
     x As Long
     y As Long
    End Type
    Private Type WINDOWPLACEMENT
     Length As Long
     flags As Long
     showCmd As Long
     ptMinPosition As POINTAPI
     ptMaxPosition As POINTAPI
     rcNormalPosition As RECT
    End Type
    
    
    Private Sub Command1_Click()
     Dim wp As WINDOWPLACEMENT
    
     wp.Length = Len(wp)
     GetWindowPlacement hwnd, wp
     Print wp.showCmd
    End Sub
    
    相关问题:
    QA000251 "如何利用FindWindow()函数查找程序"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio