找回密码
 加入
搜索
查看: 8069|回复: 20

[AU3基础] 请教:如何识别此类窗口(附图)是否存在?[已解决]

[复制链接]
发表于 2009-7-1 09:49:32 | 显示全部楼层 |阅读模式
本帖最后由 水木子 于 2010-11-22 10:25 编辑

请问怎么识别这类窗口是否存在呢?
WinExists ( "窗口标题" [, "窗口文本"] )
WinActive ( "窗口标题" [, "窗口文本"] )
WinActivate ( "窗口标题" [, "窗口文本"] )
这几种我都用过了,还是不行,识别不了。
请大家指点下啊!谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-7-1 11:00:10 | 显示全部楼层
我也是遇到同样的问题.同盼.
发表于 2009-7-1 12:16:37 | 显示全部楼层
激活倒是没问题,要识别存不存在 不知道怎么搞
发表于 2009-7-1 12:26:56 | 显示全部楼层
用if判断语句
例如QQ重复登录示例
if WinExists ('提示','') Then MsgBox(0,0,'检测到了!')

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2009-7-1 12:54:29 | 显示全部楼层
本帖最后由 水木子 于 2009-7-1 12:56 编辑

楼上朋友的方法我试过很多次,还是不行。
$wk=WinExists ( "提示", "" )
If $wk=1 Then
        Send("{Enter}")
        EndIf
发表于 2009-7-1 13:02:58 | 显示全部楼层
$wk=WinExists ( "提示", "" )
If $wk=1 Then
        WinActivate  ( "提示", "" )
        Send("{Enter}")
        EndIf
发表于 2009-7-1 13:38:07 | 显示全部楼层
楼上的代码是如果检测到窗口的存在,才执行回车的命令.
问题是现在根本就没有检测到窗口的存在呀,还是不会执行回车的.
发表于 2009-7-1 14:48:56 | 显示全部楼层
激活倒是没问题,要识别存不存在 不知道怎么搞
wuluck 发表于 2009-7-1 12:16

请教如何激活此窗口?
发表于 2009-7-1 15:59:14 | 显示全部楼层
8# 19720205


WinActivate('','')
发表于 2009-7-1 16:00:40 | 显示全部楼层
估计需要sleep()一下再去识别
 楼主| 发表于 2009-7-1 16:29:58 | 显示全部楼层
楼上的代码是如果检测到窗口的存在,才执行回车的命令.
问题是现在根本就没有检测到窗口的存在呀,还是不会执行回车的.
19720205 发表于 2009-7-1 13:38

恩,正如这为朋友所说的,根本检测不到窗口的存在啊!
发表于 2009-7-1 16:41:38 | 显示全部楼层


#include <GUIConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("窗口检测", 272, 128)
$Button1 = GUICtrlCreateButton("开始监控", 64, 40, 145, 49, BitOR($BS_DEFPUSHBUTTON,$WS_GROUP))
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        GUICtrlSetData($Button1, "停止监控")
                        While 1
                                Switch GUIGetMsg()
                                        Case $GUI_EVENT_CLOSE
                                                Exit
                                        Case $Button1
                                                GUICtrlSetData($Button1, "开始监控")
                                                ExitLoop
                                EndSwitch
                                If WinExists("[CLASS:TXGuiFoundation; TITLE:提示]") Then MsgBox(0, "", "QQ提示窗口弹出。")
                                If WinExists("[CLASS:#32770; TITLE:警告!]", "确实要更改该区域的设置吗?") Then MsgBox(0, "", "IE提示窗口弹出")
                        WEnd
        EndSwitch
WEnd
 楼主| 发表于 2009-7-1 16:51:47 | 显示全部楼层
能说明下思路吗?
发表于 2009-7-1 16:55:16 | 显示全部楼层


[au3]#include
#include
#include
#include

$Form1 = GUICreate("窗口检测", 272, 128)
$Button1 = GUICtrlCreateButton("开始监控", 64, 40, 145, 49, BitOR($BS_DEFPUSHBUTTON,$WS_GROU ...
78391493 发表于 2009-7-1 16:41


这个办法好  ...
发表于 2009-7-2 12:57:53 | 显示全部楼层
12#的代码我们新手看起来有难度,谁能添加上注释呀
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 09:49 , Processed in 0.204905 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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