Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 27.02.2017
Сообщений: 10
1

Защита консоли от закрытия с Ctrl-C и Ctrl-Pause

23.12.2019, 19:38. Просмотров 1294. Ответов 2
Метки нет (Все метки)

Всем привет! Мне нужно защитить консоль от закрытия с помощью Ctrl-C и Ctrl-Pause, вообщем чтобы она закрывалась только от нажатия на крестик закрытия окна. Я читал много информации на эту тему, но так и не понял как реализовать ее с моей программой, помогите пожалуйста. Вот точка входа моей программы
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
int main()
{
    setlocale(LC_ALL, "Russian");
    cout << "Задание варианта: " << endl;
    int a;
    again1:
    cout << "Введите способ ввода строк: " << endl << "1. Ввести строки вручную" << endl << "2. Сгенерировать случайные строки" << endl;
    
    while (!(cin >> a))
    {
        cin.clear();
        while (cin.get() != '\n')
            continue;
        cout << "Способ не найден! Введите номер способа заново!\n";
    }
 
    switch (a)
    {
    case 1: { nabor(); return 0; }
    case 2: { rand(); return 0; }
    default: { cout << "Способ не найден! Введите номер способа заново!\n"; goto again1; }
    }
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2019, 19:38
Ответы с готовыми решениями:

Ctrl+Z в консоли
Нужно написать примерно такое дело: чтобы консольное приложение на C++ при нажатии сочетания клавиш...

Ctrl+Z; Ctrl+C, как отключить?
Что нужно добавить в программу, чтобы она не прекращала свое действие при нажатии Ctrl+Z; Ctrl+C?

Ctrl+Z или Как закончить ввод с консоли?
Не получается найти ошибку #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;assert.h&gt;...

Защита от дурака Ctrl+C; Ctrl+V
Здравствуйте.Как сделать фильтр на ввод сочетания клавишь Ctrl+C; Ctrl+V.

2
бах-бах и в продакшен!
1490 / 870 / 338
Регистрация: 23.09.2014
Сообщений: 2,832
Записей в блоге: 4
24.12.2019, 17:07 2
Лучший ответ Сообщение было отмечено Frischmann как решение

Решение

Frischmann, вот испытайте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <stdio.h>
#include <signal.h>
#include <string.h>
 
void ctrl_c_handler(int signum)
{   printf("\nНе-не-не! Даёшь пиченку!\n");
}
 
int main(void)
{   setlocale(0,"");
 
    char buf[BUFSIZ];
 
    while(true)
    {   if ( signal(SIGINT, ctrl_c_handler) == SIG_ERR )
        return 1;
    }
    
    return 0;
}
1
0 / 0 / 0
Регистрация: 27.02.2017
Сообщений: 10
24.12.2019, 17:23  [ТС] 3
Большое спасибо, помогло
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2019, 17:23

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

JTextPane, функции Ctrl+A, Ctrl+C, Ctrl+X перенести на кнопку
Класс JTextPane поддерживает нажатие клавиш таких как Ctrl+A, Ctrl+C, Ctrl+X и т. д. Вопрос...

Как отловить нажатие ctrl+v ctrl+c ctrl+x key_Press
Как правильно отловить нажатие ctrl+v ctrl+c ctrl+x в событии key_Press? я пробую так: private...

Не работает ctrl+c, ctrl+v, ctrl+a, ctrl+x в ubuntu 12.04
Здравствуйте, не работают такие горячие клавиши, может кто уже стыкался з данной проблемой. Как...

Undo/Redo или CTRL+Z – CTRL+Y »» не работает для личных макросов
Есть макросы по теме ··· заливка; цвет текста; вставить примечание. Для них не работает Undo/Redo...


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

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

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