AppleNTU, к сожалению, у меня нет KIS... Ваше предположение легко проверить -
ControlGetHandle должен всегда возвращать реальный HWND, попробуйте его вывести через
ConsoleWrite
Код:
Do
Sleep(100)
$CtrlTitle = "Мастер настройки Kaspersky Internet Security"
$CtrlID = "[CLASS:AVP.Progress; INSTANCE:1]"
$hControl = ControlGetHandle($CtrlTitle, "", $CtrlID)
Until $hControl
ConsoleWrite($hControl &': "'& $CtrlTitle &'" : '&$CtrlID &@CRLF)
попробуйте вместо наличия проверять видимость контрола, но для этого нужно сначала убедиться, что
ControlCommand работает с элементами KIS - проверить, что возвращает ф-ция для видимых и скрытых элементов
Код:
Do
Sleep(100)
$CtrlTitle = "Мастер настройки Kaspersky Internet Security"
$CtrlID = "[CLASS:AVP.Progress; INSTANCE:1]"
$IsVisible = ControlCommand($CtrlTitle, "", $CtrlID, "IsVisible", "")
Until $IsVisible