Получение текста с окна иного приложения...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Получение текста с окна иного приложения...

Сообщение SSecurity » 10.09.2003 (Ср) 1:07

Привет уважаемые коллеги!

У меня к Вам собственно говоря такой вопрос - вчера смотрел фильм "Сеть", и там девушка сидела в чате ... а её ответы, адресованные ей читались голосом... я себе тоже так хочу:). Я хочу написать прогу, которая читает голосом сообщения из ICQ или Trilliana.
Предварительный анализ показал, что для этого необходимо показть программе идентификатор окна, используемого для получения сообщения из Аси, идентификатор элемента управления этого окна (по-нашему TextBox) и считать текст оттуда.
Затем этот текст необходимо произнести, с указанием автора(в Асе имя отправителя или его номер указывается в Caption окна).
Там точно должны быть API функции, но вот я никак не могу получить идентификатор именно активного окна (всегда возвращает 0, а если активна рабочая форма приложения, то не ноль:( )

Программа уж читает текст (это самое простое)
А вот как выполнить остальные пункты, это вопрос.


Заранее спасибо :)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.09.2003 (Ср) 7:34

GetForegroundWindow
GetWindowText
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 10.09.2003 (Ср) 8:52

Спасибо большое ....

т.е. первая функция возвращает Идентификатор окна... а вторая непосредственно его текст.... я правильно понял? ...
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.09.2003 (Ср) 9:27

Зачем усложнять себе жизнь? У ICQ есть свой API, гораздо проще юзать его.
Пример валялся где-то на planet-source, но его там искать долго, вот здесь выложен простой ICQ-клиент на VB.
Lasciate ogni speranza, voi ch'entrate.

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 661
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 10.09.2003 (Ср) 15:59

Может немного не в тему, но как определить что виндовский проигрыватель закончил воспроизводить фильм.
Хочется написать прогу которая бы выключала машину по окончании фильма.
Утро добрым не бывает!

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 10.09.2003 (Ср) 23:17

Привы .... спасибо за АСКИН КЛИЕНТ
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

SergeySV
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 124
Зарегистрирован: 17.04.2003 (Чт) 14:39
Откуда: Россия, Москва

Сообщение SergeySV » 11.09.2003 (Чт) 11:43

щас не могу посмотреть, но если он меняет свой заголовок окна после завершения показа, то можно просто отслеживать текст в заголовке...
Главное двигаться не быстрее, чем думает твоя голова.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 11.09.2003 (Чт) 23:34

может я вовсе не опытный, но факт - я смог использовать функцию
GetForegroundWindow а вот GetWindowText для меня не пашет ... скажем так, не хочет ... я попытался применить функцию GetDlgCtrlID, но это та ещё штучка, она иногда и возвращает значения ... очень очень длинный ЛонгИнт:-) ... но используя это идентификатор (теперь уже элемента низя получить значение текста) ... видимо я что-то делаю не так.

как тут быть? :(
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

    TopList