找回密码
 加入
搜索
查看: 478|回复: 6

[AU3基础] 【已解决】winactivate无法拉起程序窗口

[复制链接]
发表于 2023-11-6 19:06:26 | 显示全部楼层 |阅读模式
本帖最后由 HHHH 于 2023-11-9 18:45 编辑

WinActivate("WndClass")
请教各位 winactivate无法拉起程序窗口,这个窗口不行,其他窗口可以的,请教下这个是什么原因造成的 谢谢
发表于 2023-11-6 19:13:57 | 显示全部楼层
#include <Array.au3>
Local $aWinList = WinList("WndClass")
_ArrayDisplay($aWinList)

看看是否仅有一个窗口。如果有多个则需判断哪个才是目标。
 楼主| 发表于 2023-11-6 19:20:56 | 显示全部楼层
afan 发表于 2023-11-6 19:13
#include
Local $aWinList = WinList("WndClass")
_ArrayDisplay($aWinList)

感谢,读出来的确有多个,但从底部任务栏看只有一个窗口。
我可以全部拉起吗?或者我应如何改一下我拉起的窗口是正确的

发表于 2023-11-6 19:28:34 | 显示全部楼层
HHHH 发表于 2023-11-6 19:20
感谢,读出来的确有多个,但从底部任务栏看只有一个窗口。
我可以全部拉起吗?或者我应如何改一下我拉起 ...

多个最好直接找主窗口,找其特征,比如是否有窗口文本,或比对窗口坐标及大小。
 楼主| 发表于 2023-11-6 19:55:22 来自手机 | 显示全部楼层
afan 发表于 2023-11-6 19:28
多个最好直接找主窗口,找其特征,比如是否有窗口文本,或比对窗口坐标及大小。

请教主窗口还可以如何处理一下。从任务栏看只有一个窗口界面,是一个大窗口来的,里面没有按钮和文本框。是一个全屏窗口
发表于 2023-11-6 20:11:57 | 显示全部楼层
枚举找需要的,大多都有唯一特性
#include <Array.au3>
Local $aWinList = WinList("WndClass")
_ArrayDisplay($aWinList)
Local $sInfo = '', $aPos
For $i = 0 To $aWinList[0][0]
        If $aWinList[$i][0] <> "" And BitAND(WinGetState($aWinList[$i][1]), 2) Then
                $aPos = WinGetPos($aWinList[$i][1])
                $sInfo &= '窗口句柄=' & $aWinList[$i][1] & _
                                '; 文本=' & WinGetText($aWinList[$i][1]) & _
                                '; 坐标大小=' & StringFormat('%s, %s, %s x %s', $aPos[0], $aPos[1], $aPos[2], $aPos[3]) & _
                                @CRLF
        EndIf
Next
ConsoleWrite($sInfo & @CRLF)
 楼主| 发表于 2023-11-7 10:57:22 | 显示全部楼层
afan 发表于 2023-11-6 20:11
枚举找需要的,大多都有唯一特性

感谢。新手我用了最笨的方法
For $i = 1 To $windows[0][0]
    ;WinActivate($windows[$i][1]) ; 逐个激
    WinSetState($windows[$i][1], "", @SW_MAXIMIZE)
Next
全部拉起 目前能达到所需。我再学习一下找特性优化一下
有一个很奇怪的点,WinActivate不能把我需要的这个程序的窗口放到最前,看任务栏是有激活的。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 02:32 , Processed in 0.083258 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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