Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Micro
43 / 43 / 5
Регистрация: 12.11.2011
Сообщений: 436
1

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

22.07.2012, 21:14. Просмотров 425. Ответов 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
Ответы с готовыми решениями:

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

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

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

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

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

4
OstapBender
584 / 523 / 75
Регистрация: 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
43 / 43 / 5
Регистрация: 12.11.2011
Сообщений: 436
23.07.2012, 11:07  [ТС] 3
хм, а если в консольной сделать Tcp listener, потом подключиться из моей программы и отправлять текст, я максимум могу прослушку написать, а событие о приходе инфы уже не знаю
0
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,545
24.07.2012, 12:52 4
Цитата Сообщение от Micro Посмотреть сообщение
мне нужно чтобы в программе (консольной) было событие о таком сообщении (что из чужой программы пишут) и обработать строку которая пришла из другой, как-то так
Долго думал. Короче если речь идёт о простом взаимодействии процессов, можно сделать так, что программа на Vb.net писала бы строку в текстовый файл (тебе ведь, как я понял необязательно её писать именно в консоль, главное, чтобы она просто БЫЛА), а консольное приложение считывало бы эту строку из текстового файла и на неё как-то реагировало. Тут главная задача синхронизировать работу процессов.
0
Micro
43 / 43 / 5
Регистрация: 12.11.2011
Сообщений: 436
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

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

Составить программы для перевода арабских чисел в римские и для обратной операции
Составить программы для перевода арабских чисел в римские и для обратной...

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


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

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

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