Получение текста с другого окна

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

Получение текста с другого окна

Сообщение SSecurity » 24.10.2003 (Пт) 23:55

Приветствую Вас, о уважаемый коллеги!

Вопрос значится вот в чем:
Делаю прогу, которая может читать голосом значение допустим ТЕКСТБОКСа другого окна. ВНИМАНИЕ! ТескБокс принадлежит другой программе, совсе постаронней. Смысл такой - я получил идентификатор окна, и в своем окне при помощи функций GetFocus и GetWindowText получил требуемые значения .... но вот на других окнах это не работает .... он не передает фокус нужному окну и уж тем более не считывает ID с элементов управления :(


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

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

Сообщение alibek » 25.10.2003 (Сб) 12:21

Нужно все делать как положено.
Вначале GetWindowTextLength, потом GetWindowText.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение SSecurity » 25.10.2003 (Сб) 23:14

Спасибо за ответ ....
А чуточку подробнее можно .. а то я не совсем понимаю :)

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

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

Сообщение GSerg » 26.10.2003 (Вс) 6:45

Код: Выделить всё
Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

function hWnd2Text(byval hWnd as long) as string
  hwnd2text=space$(getwindowtextlenght(hwnd))
  getwindowtext hwnd,hwnd2text,len(hwnd2text)
end function
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение SSecurity » 27.10.2003 (Пн) 0:10

Привет, я наверное не так выразился...
Заголовок получить - элементарно :)
а вот задачка поинтереснее...

Допутим у тебя две твоих программы .. На одной есть TEXT1 и Command1 ...
и другая программа ... такая же ... скажем ...
Вот мне надо получить значение TEXT1.TEXT ... ни ули если проще говорить ... программно получить например текст из БЛОКНОТА ... если его источником указать :))

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

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

Сообщение GSerg » 27.10.2003 (Пн) 9:20

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


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

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 8

    TopList  
cron