Что нового

[Окна, Диалоги] Получение текста окна.

Booster

Новичок
Сообщения
48
Репутация
1
Здравствуйте. Подскажите пожалуйста, как можно получить текст открытого окна? Есть некоторая форма в виде файла .hta, открывается отдельным окном. Стандартная команда WinGetText не может получить текст из окна, возвращается пустая строка. Как можно получить текст из самого окна, а не из файла?
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
Booster
Окно HTA основано на движке MIE, поэтому к элементам окна HTA нужно обращаться как к дочерним объектам объекта IE...
Правда, к окну IE можно обратиться с помощью функций UDF IE.au3, а вот к окну HTA - даже не знаю, можно ли...
 
Автор
B

Booster

Новичок
Сообщения
48
Репутация
1
snoitaleR Т.е. нет никаких вариантов? Я просто в этом точно не силен. Пока что нахожусь на уровне простейших функций)) Может попробовать какой нить примерчик?


Добавлено:
Сообщение автоматически объединено:

Как думаешь? Может получится воспользоваться функциями этой IE.au3 библиотеки?
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Из библиотеки IE.au3 вам понадобится функция
Код:
_IEAttach


[box title=Из справки]HyperTextApplication (.hta) windows may be attached to using the "embedded" option.[/box]
 
Автор
B

Booster

Новичок
Сообщения
48
Репутация
1
Вроде что то получается))
В общем html код окна получить у меня вышло, как то так.
Код:
#include <IE.au3>
$1=WinGetHandle ( '<Заголовок окна>')
$oIE = _IEAttach ($1, 'Embedded')
MsgBox (0, 'Test', _IEDocReadHTML ($oIE))

Но теперь не могу понять а как мне полученные данные занести например в переменную или массив чтобы потом обработать этот код. Например мне нужно в полученном коде найти определенный текст и записать его в переменную или индекс массива.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Booster [?]
Но теперь не могу понять а как мне полученные данные занести например в переменную или массив
почитайте хотя бы главу из справки как работать с переменными и как их объявлять.
 
Автор
B

Booster

Новичок
Сообщения
48
Репутация
1
Решено. Спасибо большое inververs, за то что указал, с чего начать. Остальное додумал сам, все работает)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Booster [?]
Решено. Спасибо большое inververs, за то что указал, с чего начать. Остальное додумал сам, все работает)
А почему бы код не опубликовать, раз решено?
 
Автор
B

Booster

Новичок
Сообщения
48
Репутация
1
Дак вот это и есть решение на мой вопрос.
Код:
#include <IE.au3>
$1=WinGetHandle ( '<Заголовок окна>')
$oIE = _IEAttach ($1, 'Embedded')
MsgBox (0, 'Test', _IEDocReadHTML ($oIE))

Просто за место
Код:
MsgBox ()
Пишем
Код:
$rHTML=_IEDocReadHTML ($oIE)

А потом просто используем переменную и ищем нужные данные прямо в ней.
 
Верх