Что нового

[RegExp] Отловить заголовок окна с помощю регулярных выражений.

ivsatel

Продвинутый
Сообщения
319
Репутация
84
Здравствуйте.
Использую AutoIt 3.3.8.1

При устанвоке ShockWavePlayer появляется окно, при чем заголовок у него меняется. Пытаюсь выловить его с помощью:
Код:
StringRegExp

Так как часть заголовка всегда несет Shockwave Player.
Вот мой код, почему то выдает не точное совпадение.
Код:
While 1
$aList = WinList()

$sText = ''
For $i = 0 To $aList[0][0]

    If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then

		$sText &= "Дескриптор=" & $aList[$i][1] & "    Заголовок=" & $aList[$i][0] & ' '

		;ConsoleWrite($sText&@LF)

	EndIf

Next

$WH = StringRegExp($sText, 'Заголовок=(.*?)Плюс', 1)

If @error Then
	$WinHahdle = '0'
Else
	$Hahdle = $WH[0]
	$WinHahdle = $Hahdle&'Плюс'
	MsgBox('', 'Привсоение регулярки', $WinHahdle, 3)
EndIf

If $WinHahdle <> 0 Then
	WinClose($WinHahdle)
EndIf

WEnd
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
ivsatel
А просто по подстроке нельзя?

Код:
Opt('WinTitleMatchMode', 2)
$hwnd=WinGetHandle('Shockwave Player','')


И при поиске окна можно регулярное выражение прямо вписывать http://autoit-script.ru/autoit3_docs/intro/windowsadvanced.htm
 
Верх