Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
AM2
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 18
#1

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

01.09.2015, 11:22. Просмотров 519. Ответов 4
Метки нет (Все метки)

Подскажите пожалуйста как можно непрерывно считывать данные с окна стороннего приложения?

Мне необходимо подключаться к окну другой программы, считывать данные и записывать в файл. У меня реализован вариант, который реализует все это разово по нажатию кнопки, но нужно сделать чтобы это было непрерывно.
Проект делаю в Rad Studio XE4.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 //нахожу нужное окно
 UnicodeString s1 = "WindowsForms10.Window.8.app.0.3d893c_r9_ad1";
 UnicodeString s2 = "Программа";
 const wchar_t * cl = s1.c_str();
 const wchar_t * nm = s2.c_str();
 HWND e = FindWindow(cl,nm);
 HWND e1 = NextWindowElement(e,cl,NULL,1);
.......
 HWND e16 = NextWindowElement(e15,cl,NULL,8);
 
 //читаю текст
 const wchar_t a[10]={0};
 SetForegroundWindow(e15);
 SendMessage(e15, WM_ACTIVATE, WA_ACTIVE, 0);
 SendMessage(e15, WM_SETFOCUS, NULL, 0);
 SendMessage(e15,WM_GETTEXT,10,(LPARAM)a);
 
 //пишу в файл
 EditA->Text = a;
 
 TStringList *list = new TStringList();
 list->Clear();
 list->Add(EditAsk->Text);
 list->SaveToFile("C:\\Users\\1\\Documents\\log.txt");
 delete list;
 list = NULL;
Пробовал в цикле while, но это не то. Интересует подобный рабочий пример или направление куда смотреть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2015, 11:22
Ответы с готовыми решениями:

Как закрыть окно стороннего приложения
Доброго времени суток! Хочу узнать, как написать программу на c++, которая...

Передача графической/текстовой информации из стороннего окна
Здравствуйте! Каким образом можно осуществить передачу текстовой информации,...

Запуск стороннего приложения через CreateProcess
Доброго времени суток! Есть два одинаковых консольных приложения, но с разными...

Возможно ли считывать данные с сайта?
Доброго времени суток. Вопрос: возможно ли считывать данные (к примеру цифры) с...

Могут ли дочерние окна "наследовать" шрифт главного окна приложения?
Можно ли как-то массово присвоить шрифт всему окну и, следовательно, все...

4
AM2
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 18
02.09.2015, 12:00  [ТС] #2
Просто хочу считывать котировки с терминала Саксо Трейдер и записывать в файл непрерывно. А как сделать это не знаю. Смотрел форум, читал литературу - обмен данными между приложениями, DDE, потоки, TTHread. Но все равно не разобрался, мало опыта ((
0
AM2
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 18
02.09.2015, 19:31  [ТС] #3
Чтобы понять как работают потоки, на основе примера из книги Архангельского сделал таймер. При нажатии кнопки Пуск включается таймер, при нажатии Стоп останавливается. В потоке изменяется значение метки на форме.
0
Миниатюры
Как непрерывно считывать данные с окна стороннего приложения?  
Shvonder
20 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
02.09.2015, 21:47 #4
AM2, несомненно, вы на верном пути, но для начала - если Вы только начинаете... ни стоит спешить, т.к. всё-равно успеете, так что используйте Классический вариант: установите Таймер, мастерить дополнительный поток ( Триаду ), пока не надо.
1
AM2
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 18
03.09.2015, 14:49  [ТС] #5
Shvonder, Сделал пока с потоком. Пишет в файл, считывает не идеально конечно, только что из печки все таки. Еще буду пробовать вариант с таймером. Очень благодарен за помощь. Мне и нужно было только направление подсказать а дальше уже сам сделаю.

В моем приложении важна скорость выполнения операций, еще нужно будет поработать над этим.
0
03.09.2015, 14:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2015, 14:49

Как написать программу winapi в которой будет непрерывно меняться цвет кнопок?
Необходимо сделать программу которая работает с драйвером(чтение данных с...

Как получить текст из окна приложения перед его "падением" ?
Здравствуйте! Есть чужое приложение без исходников, которое пишет протокол в...

Вставить текстовые данные в Edit дочернего окна стороннего приложения
В общем имеется строковая переменная и окно стороннего приложения, имеющее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru