python中获取子窗口的句柄 5
请教大神一个问题,帮个忙就是在IE上面,我打开一个网页会弹出域登录框我用spy++获取到了句柄信息我想通过python中的win32的包,来查找到Edit类型的句柄,比如...
请教大神
一个问题,帮个忙
就是在IE上面,我打开一个网页会弹出域登录框
我用spy++获取到了句柄信息
我想通过python中的win32的包,来查找到E
dit类型的句柄,比如我选定的那个窗口。
我可以获取到DirectUIHWND类型的句柄,但是它了子窗口的类型和标题值都一样,不太好获取到。
python的win32中没有获取所有的子窗口句柄的方法,也没有获取下一个窗口句柄的方法。
求大神指点下 展开
一个问题,帮个忙
就是在IE上面,我打开一个网页会弹出域登录框
我用spy++获取到了句柄信息
我想通过python中的win32的包,来查找到E
dit类型的句柄,比如我选定的那个窗口。
我可以获取到DirectUIHWND类型的句柄,但是它了子窗口的类型和标题值都一样,不太好获取到。
python的win32中没有获取所有的子窗口句柄的方法,也没有获取下一个窗口句柄的方法。
求大神指点下 展开
2个回答
展开全部
可以使用win32gui 以及pyhook 库来实现你的需求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取目前窗口的层次,对于获取此窗口中指定的子窗口的句柄有非常重要的意义。此部分功能Pyspy++是无法提供的,因为它只提供一个子窗口,所以无法获得目前窗口的层次
例如我想获得OG2263登录界面的窗口层次方法如下:
使用1)中的方法将查找图标拖到登录界面的”windows安全”位置如【图8】,Spy++可以找到所有属于此登录界面的子窗口如【图8】
【图8】
可以根据1)中的方法找到你希望定位的子窗口,例如我希望定位的子窗口为”用户名”和”密码”此两个窗口。使用
首先需要搞清楚这些子窗口之前的关系。
第一层为此窗口的窗体:即窗口名称为0002029A “Windows安全”#32770(对话框)
第二层为此窗体下第一层的窗口,即打开第一层窗体的”+”号后的第一层:即名称为 0002029C”” Direct UIHWND
第三层为第二层下的窗口,即打开第二层窗体的”+”号后的第一层,即上述窗口下有8个平行的窗口均为第三层窗口
第四层为第三层下的窗口,即打开第三层窗体的”+”号后的第一层,即第7个窗口打开后窗体,名称为0003A28 “”Edit
然后了解这些窗口是如何编号的
|-0002029A “Windows安全”#32770(对话框) ->index 无任何
编号
|- 0002029C”” Direct UIHWND ->Index为0
|-窗口1 ->index 为0
|-窗口2 ->index为1
|-窗口3 ->index 为2
|-窗口4 ->index为3
|-窗口5 ->index为4
|-窗口6 ->index为5
|-窗口7 ->index为6
|-Edit1 ->index为0
|-窗口8 ->index为7
|-Edit2 ->index为0
然后使用以下两个函数:
例如我想获得OG2263登录界面的窗口层次方法如下:
使用1)中的方法将查找图标拖到登录界面的”windows安全”位置如【图8】,Spy++可以找到所有属于此登录界面的子窗口如【图8】
【图8】
可以根据1)中的方法找到你希望定位的子窗口,例如我希望定位的子窗口为”用户名”和”密码”此两个窗口。使用
首先需要搞清楚这些子窗口之前的关系。
第一层为此窗口的窗体:即窗口名称为0002029A “Windows安全”#32770(对话框)
第二层为此窗体下第一层的窗口,即打开第一层窗体的”+”号后的第一层:即名称为 0002029C”” Direct UIHWND
第三层为第二层下的窗口,即打开第二层窗体的”+”号后的第一层,即上述窗口下有8个平行的窗口均为第三层窗口
第四层为第三层下的窗口,即打开第三层窗体的”+”号后的第一层,即第7个窗口打开后窗体,名称为0003A28 “”Edit
然后了解这些窗口是如何编号的
|-0002029A “Windows安全”#32770(对话框) ->index 无任何
编号
|- 0002029C”” Direct UIHWND ->Index为0
|-窗口1 ->index 为0
|-窗口2 ->index为1
|-窗口3 ->index 为2
|-窗口4 ->index为3
|-窗口5 ->index为4
|-窗口6 ->index为5
|-窗口7 ->index为6
|-Edit1 ->index为0
|-窗口8 ->index为7
|-Edit2 ->index为0
然后使用以下两个函数:
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询