Что нового

[Автоматизация] Skype: Не могу добиться закрытия главного окна

avmaksimov

Новичок
Сообщения
46
Репутация
4
Прошу прощения, если подобная тема с Skype поднималась - пытался найти, но поиск не выдавал результатов (Ваш запрос не слишком информативен).

Часть приложений у меня на флешке, которые автоматом запускаются через скрипт. Притом, если надо, автоматически происходит авторизация (пароли хранятся в защищенном виде, но не суть).

1. Я добился авторизации в новом Skype (который на базе html), раньше было на базе GUI и решить было проще. Сейчас просто посылаю периодически пароль, пока не проглотит через Send (и {Enter}). Можно сказать, что проблема решена, но решение ее мне не нравится. Поэтому, если кто может, поделитесь, пожалуйста, мыслями (у меня пока идея искать совпадение картинки, чтобы понять, что html подгрузился).

2. Вторую проблему никак не могу решить и непонятно, то ли Skype такой каверзный, то ли имеет место быть багу Autoit. Цель - сразу после авторизации закрыть главное окно, чтобы Skype был в трее (я редко им пользуюсь - если только мне напишут).

Вот что я пробовал:
  • WinClose - приводит к немедленному закрытию Skype (такое ощущение, что даже экстренно, потому что через пункт меню в треее Выход и то медленней).
  • Скрытие окна через WinSetState приводит к тому, что кроме как еще раз через вызов этой же процедуры для показа, невозможно увидеть окно скайп снова
  • Использование WinMenuSelectItem (ниже код) - самое интересное, что после открытия главного окна данная функция возвращает 1, как будто нажалось, но ничего не происходит. А если закрыть главное окно Skype и снова развернуть, то при тех же результатах (хендл окна и результат WinMenuSelectItem) окно закрывается. Проверки показывают, что handle окна тот же самый
.[/list]
Код:
Local $WinHandle = WinWait("[CLASS:tSkMainForm; Title:Skype™ - XXX]", "", 1)
ConsoleWrite( WinMenuSelectItem("[LAST]", "", "&Skype", "Закрыть")  & @CRLF)


Вместо XXX надо поставить свой логин.

Может у кого будут другие предложения.
 

Rivald

Новичок
Сообщения
61
Репутация
1
Код:
WinSetState("Skype™ - login", '', @SW_MINIMIZE)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Автоматизация] Skype: Не могу добиться закрытия главного окна" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 
Верх