kk_lee69 发表于 2017-3-4 16:30:11

窗口匹配问题 请高手帮忙!!

窗口匹配问题 请高手帮忙!!

我有两个窗口
主程序的窗口 标题是: LINEClassName是: Qt5QWindowIcon

另外开启的聊天室窗口标题是: 某某聊天室 ClassName是: Qt5QWindowIcon

除此之外 这两个窗口 检测不出任何的控件数据 与本文数据

有兴趣的朋友 可以安装 LINE APP测试看看

重点来了……

当 只有第一个窗口时候
使用 WinActivate("","")
不管窗口目前是最小化 或者 甚么状态 都可以呼叫得出来

但是 当 有两个窗口时   以上面的语法 只能呼叫出某某聊天室 聊天室的窗口

如果使用 WinActivate("LINE","")
当 窗口最小化时……则无法呼叫出来…..
窗口 没有最小化 被其他窗口挡住的情况,则可以正常呼叫出来….

怪异的是 聊天室的窗口 使用 WinActivate("某某聊天室","")
则不管是最小化 或者 被其他窗口挡住,都可以呼叫得出来

想请教….. 有没有办法解决 主程序窗口 所遇到的问题
可以跟 聊天室窗口 区别 又可以随时呼叫出来….

也就是想请教 WinActivate("","") 有没有更精确的判断方法与逻辑呢??

haijie1223 发表于 2017-3-4 19:29:30

当然是用句柄进行操作

kk_lee69 发表于 2017-3-4 21:53:41

回复 2# haijie1223

嘗試過了 要得到第三方程式的句柄要先用 窗口 標題判斷 得到句柄

所以 又回到判斷的的問題.....

haijie1223 发表于 2017-3-4 22:13:37

回复 3# kk_lee69


    枚举Qt5QWindowIcon类的所有窗口,这时候每个Qt5QWindowIcon窗口的句柄已经获取到了。
    然后再根据每个窗口的句柄获取他的标题,取出LINE和某某聊天室。这时候就可以确定出你所想要的两个窗口的句柄了。根据句柄怎么操作都可以了。

lxwlxwayy 发表于 2017-3-5 09:03:56

WinActivate("","")
$handle = WinGetHandle("","")
_winapi_showwindow($handle,(3.9.10))
WinActivate("LINE","")

kk_lee69 发表于 2017-3-5 15:20:38

回复 4# haijie1223

這倒是個好方法

來測試看看~~ 謝啦
页: [1]
查看完整版本: 窗口匹配问题 请高手帮忙!!