这是方正飞翔软件的面板截图,我想通过遍历窗口的方式,获取某个面板是否打开
现在的问题是,我试了用于获取窗口的几种方法,都无法达到要求
1. 获取鼠标位置的窗口:鼠标不想放到面板上,也就是鼠标在任意位置时都能检查面板窗口
2. 根据句柄获取窗口:面板窗口的句柄不是固定的,每次重开软件后,句柄都会变,所以也不通用
3. 获取顶层窗口:这个也没啥用,窗口本身不是置顶的
所以,还有什么方法能按我的需要获取窗口呢?先行谢过!
这个,可能用找图比较简单一些。
哦哦,忘了说,最早用的就是找图,依次找激活和未激活时的图,但感觉成功率有点低。。。
嗯,如果图像内容会有变化,会导致找图失败。需要确保截取的位置不会变。
刚刚又试了一下,比如在未激活面板的状态下,测试查图没问题,然后激活面板,再取消激活,面板看起来和之前未激活的时候是完全一样的,但再测试查图就报失败。。。。邪了门了——接着,切换一下软件再回到飞翔软件里,面板仍然是未激活的,再测试查图就又找到了。。。。这可能是什么问题?
可能边框/焦点有轻微的变化。 可以截取的时候只截取内部的内容试试。
好吧,我再试试看,多谢~
找图的话可以试试我的子程序,进我的主页可以看到,比内置的成功率要高一点
子窗口怎么获取焦点,只能找图吗
有的软件可以支持通过 “窗口界面控制” 来设置焦点。这个貌似java的界面不太清楚是不是能支持。