Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Micro
42 / 42 / 1
Регистрация: 12.11.2011
Сообщений: 429
#1

Необычное событие для программы - C++

22.07.2012, 21:14. Просмотров 404. Ответов 4
Метки нет (Все метки)

У меня в данный момент есть программа на С++ в консольном формате и вторая в Винформ формате (Vb.net), я через AttachConsole (Винапи) подключаюсь к консольной и могу отправлять туда текст типа
vb.net
1
Console.WriteLine("test")
мне нужно чтобы в программе (консольной) было событие о таком сообщении (что из чужой программы пишут) и обработать строку которая пришла из другой, как-то так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2012, 21:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Необычное событие для программы (C++):

Событие KeyPress для текстбокса - C++
Здравствуйте, не нашел этой проблемы на форуме. Вот есть у меня форма Form1, на ней текстбокс textBox1, я хочу для текстбокса создать...

Необычное поведение или "Купи слона" - C++
Написал простенькую программку на С++, которая настойчиво просит купить слона, пока не получит ответ "ok", "fine" или "yes". #include...

Составить блок схему для программы упорядочивания чисел в массиве(код программы прилагается) - C++
#include <iostream> #include <stdlib.h> using namespace std; int main() { int N = 0; // N - количество элементов в массиве...

Программы из самоучителя C++ для чайников выводит ошибку. Как собрать эти же программы, только без ошибки? - C++
На этом форуме уже есть похожие темы, но корректирование этих программ исключив русские символы не дали существенного результата.

Какую библиотеку использовать для написания программы для моделирования - C++
Собственно в заголовке всё написано. Сразу скажу,что я пользовался поисковиком и нашёл казалось бы тему аналогичную почти с моей(да да...

Составить программы для перевода арабских чисел в римские и для обратной операции - C++
Составить программы для перевода арабских чисел в римские и для обратной операции. Например, 255 = CCLV = сто + сто + пятьдесят + пять...

4
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
23.07.2012, 01:10 #2
ну ведь если подумать в консольной программе ничего же в самой программе не происходит, а только экран вывода меняется. при этом сама программа за этот экран не отвечает. тоесть реагировать на вывод туда новых данных не может ИМХО.

ну как вариант, если вас устроит, можно отслеживать положение курсора (http://exelab.ru/pro/cpp.php?r=appl&d=zfrt980)

опять же как вариант такой обработчик:
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
27
bool operator==(COORD c1, COORD c2) {
    return c1.X == c2.X && c1.Y == c2.Y;
}
 
bool operator!=(COORD c1, COORD c2) {
    return !(c1==c2);
}
 
int main()
{
 
    HANDLE hCons = ::GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO bi , biOld;
    GetConsoleScreenBufferInfo(hCons, &bi);
 
    while (1) {
    Sleep(500);
    biOld.dwCursorPosition = bi.dwCursorPosition;
    GetConsoleScreenBufferInfo(hCons, &bi);
        if (biOld.dwCursorPosition != bi.dwCursorPosition) {
            Beep(1000,500);
        }
 
 
    }
 
}
будет издавать бип, когда будет печататься новый текст.

Добавлено через 10 минут
Цитата Сообщение от Micro Посмотреть сообщение
обработать строку которая пришла из другой, как-то так
а вот это уже хз, разве что возвращать из потока данные, но в том то и дело что ни в какой std::cin данные то не были получены
1
Micro
42 / 42 / 1
Регистрация: 12.11.2011
Сообщений: 429
23.07.2012, 11:07  [ТС] #3
хм, а если в консольной сделать Tcp listener, потом подключиться из моей программы и отправлять текст, я максимум могу прослушку написать, а событие о приходе инфы уже не знаю
0
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,494
24.07.2012, 12:52 #4
Цитата Сообщение от Micro Посмотреть сообщение
мне нужно чтобы в программе (консольной) было событие о таком сообщении (что из чужой программы пишут) и обработать строку которая пришла из другой, как-то так
Долго думал. Короче если речь идёт о простом взаимодействии процессов, можно сделать так, что программа на Vb.net писала бы строку в текстовый файл (тебе ведь, как я понял необязательно её писать именно в консоль, главное, чтобы она просто БЫЛА), а консольное приложение считывало бы эту строку из текстового файла и на неё как-то реагировало. Тут главная задача синхронизировать работу процессов.
0
Micro
42 / 42 / 1
Регистрация: 12.11.2011
Сообщений: 429
24.07.2012, 17:26  [ТС] #5
Уже разобрался я
С текстовыми файлами сразу отпадал вариант.
Я сделал все через сокеты, работает изумительно, тему можно закрыть
0
24.07.2012, 17:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2012, 17:26
Привет! Вот еще темы с ответами:

Как задать свои иконки для панели задач и для программы в папке? - C++
Хочу, чтобы эти иконки отличались от той, что стоит в заголовке окна приложения.

Необычное (для меня) логарифмическое уравнение - Алгебра
Привет всем. Есть уравнение log2(1+sqrt(x))=log3(x) и еще одно log2(9x+2)=log3(16x+2) Пробовал приводить к одному основанию, но...

Событие для Form "Выводом у тестовой программы типа Кто хочет стать Миллионером?" - C#
Пишу программу в виде теста для детей. Что то похожее на "Кто хочет стать Миллионером?" Суть такая есть главная форма Form1 там эмблема ну...

Событие на завершение программы - C++ Builder
Программа запускается автоматически при запуске системы. По событию FormCreate прописал Application->ShowMainForm = false; ...


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

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

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