отключение эха в консоли
От: MikelSV http://www.centerix.ru
Дата: 14.11.08 11:14
Оценка:
пишу консольное приложение, не очень понравилось, что консоль выводит коды нажатых клавиш.
Хочется запретить ей делать это.

как программно отключить это эхо в windows и линуксе?
Нет ли какого ресурса, где есть примеры по работе с консолями. интересует перемещение курсора, смена цвета. все под две системы.

14.11.08 15:31: Перенесено модератором из 'C/C++' — Кодт
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re: отключение эха в консоли
От: ffk  
Дата: 14.11.08 11:42
Оценка:
из PostgresSQL


#ifdef HAVE_TERMIOS_H
//Linux
    if (!echo)
    {
        tcgetattr(fileno(termin), &t);
        t_orig = t;
        t.c_lflag &= ~ECHO;
        tcsetattr(fileno(termin), TCSAFLUSH, &t);
    }
#else
#ifdef WIN32
//Windows
    if (!echo)
    {
        /* get a new handle to turn echo off */
        t_orig = (LPDWORD) malloc(sizeof(DWORD));
        t = GetStdHandle(STD_INPUT_HANDLE);

        /* save the old configuration first */
        GetConsoleMode(t, t_orig);

        /* set to the new mode */
        SetConsoleMode(t, ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT);
    }
#endif
#endif
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.