成语大全网 - 汉语词典 - Autoit 取值 问个题哈,怎么取那种值,就是鼠标放在某个控件上,然后显示出来的值

Autoit 取值 问个题哈,怎么取那种值,就是鼠标放在某个控件上,然后显示出来的值

这是 TrayTip,托盘提示。

TrayTip其实就是个特殊的窗口,窗口类为tooltips_class32,要取得 TrayTip 上的文本,用WinGetTitle函数也就可以了。

TrayTip的窗口Title其实就是你要的文本。

试试下面这个:

$Rt = _GetTrayTipText('360安全卫士..*', 1)

MsgBox(0, @error, $Rt)

Func _GetTrayTipText($Title, $REFlag = 0)

;提示:此函数来自于AutoIt中文论坛-Afan

;$Title - 需关闭提示窗口的“标题”

;    (注意是非粗体字,相当于TrayTip设置的“文本”)

;$REFlag - [可选参数]是否使用正则,默认0=不使用

;返回值:返回“标题”字符串

;    未匹配到标题或标题为空返回 @Error

If $Title == '' Then Return SetError(1)

Local $aWL = WinList('[CLASS:tooltips_class32]')

Local $st, $msg, $IsIn = 0

For $i = 1 To $aWL[0][0]

$st = WinGetTitle($aWL[$i][1])

If $st = '' Then ContinueLoop

If Not $REFlag Then

If StringInStr($st, $Title) Then $IsIn = 1

ElseIf StringRegExp($st, $Title) Then

$IsIn = 1

EndIf

If $IsIn Then ExitLoop

Next

If Not $IsIn Then Return SetError(2)

Return $st

EndFunc ;==>_WinTooltipsClose