автоматизация действий на компьютере

Автоматизация действий на компьютере с помощью Human Emulator.

Помимо функционала по автоматизации работы в браузере в Human Emulator есть функционал, который позволяет выполнять автоматизацию действий в windows, то есть управлять внешними окнами.

Управление окнами Windows

Для управления другими программами из Human Emulator был добавлен специальный объект window, который содержит методы позволяющие получать подробную информацию по всем программам запущенным в системе и получать на эти программы интерфейсы управления windowinterface.

В свою очередь этот интерфейс управления окнами содержит полный набор методов для работы с внешними приложениями. Эти методы разбиты на следующие функциональные группы:

Как это работает?

Все программы по сути это набор окон. Есть главное окно программы, а всё что содержится внутри этого окна — кнопки, поля ввода, панели, диалоги и т.д. это дочерние окна. При этом кнопка диалога есть дочернее окно окна диалога, которое в свою очередь есть дочерним окном главного окна программы. Для того что бы нажать на такую кнопку, нужно сначала нажать на другую кнопку, которая откроет этот диалог, а потом уже нажать на нужную нам кнопку в этом диалоге. Естественно, что без специального инструмента определения окон тут не обойтись.

MS Spy++

В качестве такого инструмента можно использовать программу MS Spy++, которая поможет нам определить структуру интересующих нас окон.

MS Spy++, которая поможет нам определить структуру интересующих нас окон
MS Spy++, которая поможет нам определить структуру интересующих нас окон

При запуске программы нам отображается весь список открытых окон в системе. Для того чтобы определить нужное нам окно мы должны воспользоваться поиском.

Поиск нужного окна с помощью MS Spy++
Поиск нужного окна с помощью MS Spy++

После чего найденное окно выделится в общем списке. Кликнув правой кнопкой на неё и вызвав свойства мы увидим диалог свойства окна. В этом окне можно узнать заголовок окна его класс и другие параметры, с помощью которых мы сможем управлять этим окном.

Посмотреть свойства окна с помощью MS Spy++
Посмотреть свойства окна с помощью MS Spy++

Пример работы. Управление скайпом

Данный пример делает следующие:

  1. Получаем интерфейс управления главным окном.
  2. Выполняем с ним следующие манипуляции — восстанавливаем размер, изменяем позицию, задаём новый размер, выводим поверх остальных окон.
  3. Определяем поле ввода для поиска контакта.
  4. Вводим туда строку и нажимаем Enter.
echo "1. Получим окно скайпа : ";
$skype=$window->get_by_text("Skype");
if (!$skype->is_exist())
{
echo "not ok<br>";
$debug->notification_box("Скайп не запущен.",10000);
$app->quit();
}
else 
echo "ok<br>";

echo "2. Откроем окно скайпа : ";
// откроем окно скайпа
// восстановить размер
$skype->restore(0,0);
// изменение поцизии окна на экране
$skype->move(0,0);
// зададим новый размер
$skype->resize(800,600);
// вывести окно на передний план
$skype->foreground();

// определим поле ввода для поиска контакта
$search=$skype->get_child_by_class("TSearchControl");
// задаём в него фокус
$search->mouse_click(5,5);
// вводим строку хуман и нажимаем Enter c помощью символа \n 
$search->input("хуман\n",100);

 

По факту с помощью функционала объекта window и интерфейса управления windowinterface мы можем автоматизировать любые действия пользователя в Windows.

4.4/5 - (7 голосов)

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.