如何得到其他应用程序运行中窗口的状态
编号: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()函数查找程序"
此问题由李海回答。
| |
|
|
| |
|
|