#c_sharp #cpp #winapi
Установлен СофтФон MicroSip, и при поступлении входящего звонка необходимо вытаскивать номер телефона. Чем в этом случае пользоваться?
Ответы
Ответ 1
Для доступа к UI элементам программ есть 2 технологии доступа UI Automation и MSAA Для первого есть неплохая обертка Winium которая позволяет работать с WinForms и WPF через Selenum WebDriver. Смотреть какие элементы с какими атрибутами есть на форме можно через утилиты Inspect или UISpy взять можно здесь Пример работы с WinForm используя Winium (взято из Readme) namespace ConsoleApplication { using System.Windows.Automation; using Winium.Cruciatus.Core; using Winium.Cruciatus.Extensions; public class Program { private static void Main(string[] args) { var calc = new Winium.Cruciatus.Application("C:/windows/system32/calc.exe"); calc.Start(); var winFinder = By.Name("Calculator").AndType(ControlType.Window); var win = Winium.Cruciatus.CruciatusFactory.Root.FindElement(winFinder); var menu = win.FindElementByUid("MenuBar").ToMenu(); menu.SelectItem("View$Scientific"); menu.SelectItem("View$History"); win.FindElementByUid("132").Click(); // 2 win.FindElementByUid("93").Click(); // + win.FindElementByUid("134").Click(); // 4 win.FindElementByUid("97").Click(); // ^ win.FindElementByUid("138").Click(); // 8 win.FindElementByUid("121").Click(); // = calc.Close(); } } }Ответ 2
Второй вариант использовать proxy, перехватывать и разбирать сетевой трафик и выцеплять номер телефона из запроса тут можно воспользоваться проектом Titanium
Комментариев нет:
Отправить комментарий