找回密码
 加入
搜索
查看: 3686|回复: 10

[AU3基础] 问题:两个相同类名的窗口怎么区分各自的句柄呢?

  [复制链接]
发表于 2011-12-24 15:53:32 | 显示全部楼层 |阅读模式
本帖最后由 menfan1 于 2011-12-24 17:02 编辑

问题:两个窗口(父窗口和子窗口)怎么区分各自的句柄呢?两个窗口除了类名(且类名相同)之外啥信息都抓不出来,虽然标题不同,但是锁屏下标题不管用哈,就是取不到子窗口的句柄,大家有啥好办法呢?
发表于 2011-12-26 10:47:12 | 显示全部楼层
这个_WinAPI_EnumWindows试过吗?
高级会员?
 楼主| 发表于 2011-12-26 11:04:04 | 显示全部楼层
本帖最后由 menfan1 于 2011-12-26 12:39 编辑

回复 2# 502762378

试过,没用哈
注意:有个前提:锁屏下操作。一般来说,不锁屏的情况下都能取到句柄。
 楼主| 发表于 2011-12-26 11:15:55 | 显示全部楼层
本帖最后由 menfan1 于 2011-12-26 12:39 编辑

_WinAPI_EnumWindowsPopup,_WinAPI_EnumWindowsTop,_WinAPI_EnumWindows,_WinAPI_FindWindows等都试过了,还有其他的办法吗?
注意:有个前提:锁屏下操作。一般来说,不锁屏的情况下都能取到句柄。
发表于 2011-12-26 16:07:40 | 显示全部楼层
本帖最后由 netegg 于 2011-12-26 16:08 编辑

EnumChildWindows
如果确定是父子关系,看看谁是父谁是子,不就行了
 楼主| 发表于 2011-12-26 16:35:57 | 显示全部楼层
回复 5# netegg

确定父子关系,父窗口能取到句柄,子窗口取不到句柄,这个函数也用过了。
发表于 2011-12-26 17:02:52 | 显示全部楼层
本帖最后由 netegg 于 2011-12-26 17:03 编辑

回复 6# menfan1
不可能呀,如果是父窗体肯定可以取到子窗体,如果是子窗体获取不到父窗体,必须用GetAncestor才能得到父窗体
enumchildwindows($hParentWnd)会得不到子窗体?
发表于 2011-12-26 21:41:25 | 显示全部楼层
重新封装的就取不到吧,如QQ这类的
发表于 2011-12-27 08:47:44 | 显示全部楼层
回复 8# autt
qq的界面不是标准api
 楼主| 发表于 2011-12-27 19:24:55 | 显示全部楼层
回复 7# netegg

你试试先_WinAPI_LockWorkStation(),后执行       
$hWin1 = _WinAPI_EnumChildWindows($hWin)
_ArrayDisplay($hWin1, '_WinAPI_EnumChildWindows')
根本就不显示哦
 楼主| 发表于 2011-12-27 19:25:50 | 显示全部楼层
父窗口和子窗口都是类名#32770
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-20 19:43 , Processed in 0.078884 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表