![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
DI HALT RET
Форумчанин
Регистрация: 30.12.2010
Сообщений: 117
|
![]()
Доброго времени суток.
Возникла у меня проблема с закрытием консольки при нажатии CTRL+C. Поставил ивент на нажатие: Код:
Код:
Последний раз редактировалось Tahoma; 30.06.2017 в 19:01. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Насколько я понимаю, если есть выделенный текст, тогда Ctrl-C текст и скопирует, т.е. сигнал посылаться не будет.
|
![]() |
![]() |
![]() |
#3 |
DI HALT RET
Форумчанин
Регистрация: 30.12.2010
Сообщений: 117
|
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]()
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
похоже нужен SetConsoleMode.. ...ток это вопросы не по С, а по Виндовс АПИ. |
![]() |
![]() |
![]() |
#5 | |
DI HALT RET
Форумчанин
Регистрация: 30.12.2010
Сообщений: 117
|
![]() Цитата:
Спасибо, что подсказали направление. Одна проблемка, почему при SetConsoleMode(hCons, ENABLE_WINDOW_INPUT) у меня вылетает cin.getline ? Идиотский вопрос. Извиняюсь! Нафига мне cin.getline, если у меня перехватываются все нажатия Последний раз редактировалось Tahoma; 27.07.2017 в 18:11. |
|
![]() |
![]() |
![]() |
#6 |
DI HALT RET
Форумчанин
Регистрация: 30.12.2010
Сообщений: 117
|
![]()
Получилось что-то вроде:
Код:
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]()
не нравится мне этот код....у вас main завершается,а поток остается...так быть не должно.
Нужно предусмотреть что-то (комбинацию клавиш) для завершения цикла потока, по окончании цикла выставить какой-то флаг (std: ![]() |
![]() |
![]() |
![]() |
#8 | |
DI HALT RET
Форумчанин
Регистрация: 30.12.2010
Сообщений: 117
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
DI HALT RET
Форумчанин
Регистрация: 30.12.2010
Сообщений: 117
|
![]()
А хоткеи теперь вручную придется описывать? Я про CTRL+C/V/A....
Ну тут оказалось просто. Надо лишь прочитать буфер обмена и вывести, если есть, что выводить. А отменив CTRL+C (закрытие) стало работать как копирование. Код:
Последний раз редактировалось Tahoma; 01.08.2017 в 17:04. Причина: Нашел решение |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввод EOF c консоли - это Ctrl+Z и Ctrl+M Почему? | 8Observer8 | Общие вопросы по программированию, компьютерный форум | 10 | 13.01.2023 09:33 |
Отмена закрытия программы из панели задач | Jleksern | Общие вопросы Delphi | 7 | 15.06.2013 17:32 |
Не работает отмена при добавлении записей в таблицу | Екатерина20 | БД в Delphi | 4 | 26.05.2012 17:23 |
Отмена закрытия консольного окна после завершения работы приложения | FeloS | Общие вопросы C/C++ | 21 | 25.02.2011 16:34 |
При нажатии выполнить Ctrl+F | Shouldercannon | Общие вопросы Delphi | 10 | 04.02.2010 16:05 |