The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Запрет реагирования терминала на Ctrl-Z, Ctrl-Y..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Запрет реагирования терминала на Ctrl-Z, Ctrl-Y..."
Сообщение от Hub Искать по авторуВ закладки on 13-Ноя-01, 12:53  (MSK)
Я пишу юзер-ориентированную программу(tvision 0.7 C++). Юзерам сложно объяснить, что нажимать Ctrl-Z нельзя. Как запретить терминалу реагировать на нажатие вышеуказаных клавиш?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Запрет реагирования терминала на Ctrl-Z, Ctrl-Y..."
Сообщение от Стас emailИскать по авторуВ закладки on 14-Ноя-01, 02:07  (MSK)
Честно признаюсь, - я подобного не делал, но, как я понял из литературы (возможно плохо), нужно написать обработчик сигнала (по-моему SIGSTOP) и устанавливать его при инициализации программы. Другой ход - установить маску сигналов так, чтобы инорировать интересующий нас....
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Запрет реагирования терминала на Ctrl-Z, Ctrl-Y..."
Сообщение от Igor emailИскать по авторуВ закладки on 15-Ноя-01, 09:01  (MSK)
>Честно признаюсь, - я подобного не
>делал,

я тоже :-)

> но, как я понял
>из литературы

а как я понял из нее

>(возможно плохо)

тоже может быть

> , нужно


перевести терминал в non-canonical-mode
и иметь fun или joy, по выбору ;-)

>написать обработчик сигнала (по-моему SIGSTOP)
>и устанавливать его при инициализации
>программы. Другой ход - установить
>маску сигналов так, чтобы инорировать
>интересующий нас....


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Запрет реагирования терминала на Ctrl-Z, Ctrl-Y..."
Сообщение от Арлекин Искать по авторуВ закладки on 14-Ноя-01, 19:37  (MSK)
Перехватить SIGSTOP для ^Z и SIGINT для ^C.
#include <signal.h>
.......
void   sig_catcher( int sigNum )
{
  return;   // чтоб гарантированно назад возвращался
}
............
...  main(...)
{
...
   signal( SIGINT, sig_catcher );
   signal( SIGSTOP, sig_catcher );
...
}
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру