Как можно считать значения из открытого приложения в Windows?

ToQueryString ()

8
задан Arron S 3 August 2009 в 06:16
поделиться

5 ответов

Возможно, эта статья поможет - http://msdn.microsoft.com/en-us/magazine/cc163617.aspx , но я думаю, что это не универсально и для ваша задача - получить доступ напрямую к Forex API / Web-сервису или попытаться поймать нужные данные в сети.

0
ответ дан 5 December 2019 в 23:16
поделиться

Обычно приложение создает элементы управления в диалоговом окне с одинаковым идентификатором, тем же порядком и т. Д., Поэтому программный поиск элемента управления довольно простой. Используя Spy ++ найдите идентификатор элемента управления, а затем вы можете искать в окнах, созданных приложением, нужный элемент управления. Не будучи знаком с рассматриваемым приложением, я не могу дать подробностей, но если Spy ++ показывает желаемое значение, скорее всего, нетрудно получить значение в вашем коде.

Какой тип управления является значение отображается в? Вы можете использовать GetDlgItemText для получения значения, если у вас есть дескриптор родительского окна и идентификатор элемента управления? Чтобы получить родительское окно, попробуйте использовать EnumWindows .

Может, я сможет использовать GetDlgItemText для получения значения, если у вас есть дескриптор родительского окна и идентификатор элемента управления? Чтобы получить родительское окно, попробуйте использовать EnumWindows .

Может ли я смогу использовать GetDlgItemText для получения значения, если у вас есть дескриптор родительского окна и идентификатор элемента управления? Чтобы получить родительское окно, попробуйте использовать EnumWindows .

2
ответ дан 5 December 2019 в 23:16
поделиться

Вы изучали AutoIT или AutoHotKey ? Обе эти опции с открытым исходным кодом имеют хорошо документированные возможности чтения текста из окон приложений (и отправки им нажатий клавиш или щелчков мыши).

AutoIT очень прост в использовании и хорошо документирован. Пример чтения текста из окна:

$text = WinGetText("title of window", "")
MsgBox(0, "Text read was:", $text)

Его можно скомпилировать в исполняемый файл.

2
ответ дан 5 December 2019 в 23:16
поделиться

Возможно, будет проще очистить их данные, автоматизируя снимок экрана, а затем процесс ocr. Если это ваша цель.

Потенциально релевантные ссылки:

1
ответ дан 5 December 2019 в 23:16
поделиться

Можно делать скриншот вещи, созданные с помощью родных оконных элементов управления; если это так, то вы должны видеть элементы управления, используя Spy++. Но иногда элементы управления реализуются "вручную", и нет возможности их экранировать (например, некоторые графические инструменты Java играют напрямую с графикой, так что все, что делается в день, бессмысленно со стороны, или даже некоторые меню Office реализуются без использования меню).

API доступности Windows - это возможный способ экранировать значения; проверьте, способен ли "Narrator", скринридер, который поставляется с окнами, читать вслух ваше целевое приложение.

.
0
ответ дан 5 December 2019 в 23:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: