завершить консольное приложение c

Application. Exit Метод

Определение

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.

Перегрузки

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.

Сообщает всем средствам переноса сообщений, что они должны завершить работу, а затем закрывает все окна приложения после обработки сообщений.

Примеры

В следующем примере кода показаны числа из списка в форме. Каждый раз при щелчке button1 приложение добавляет в список еще один номер.

Для примера требуется, чтобы listBox1 и button1 были созданы и помещены в форму.

Комментарии

Exit вызывает следующие события и выполняет связанные условные действия:

Если один из обработчиков отменяет событие, а Exit возвращает без дальнейших действий. В противном случае FormClosed событие вызывается для каждой открытой формы, после чего все выполняющиеся циклы сообщений и формы закрываются.

Источник

Как завершить консольное приложение?

Как сделать консольное приложение самостоятельным
Подскажите как сделать консольное приложение в C# самостоятельным. То есть чтоб оно запускалось без.

Как перенести консольное приложение в форму
Есть программа на консольки, ее нужно перенести в форму, а именно в TextBox. Знаю, что это нужно.

завершить консольное приложение c. tick. завершить консольное приложение c фото. завершить консольное приложение c-tick. картинка завершить консольное приложение c. картинка tick.Как добавить таймер в консольное приложение
Нужно чтобы в консоле отображался таймер, показывающий остаток времени.

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

завершить консольное приложение c. tick. завершить консольное приложение c фото. завершить консольное приложение c-tick. картинка завершить консольное приложение c. картинка tick.Как убрать консольное приложение в трей
Всем привет. Подскажите пожалуйста, как сделать, чтобы при запуске консольное приложение сразу.

Как внедрить диалоговое окно в консольное приложение?
Добрый день! Подскажите пожалуйста как внедрить диалоговое окно в консольное приложение? У меня.

Как развернуть консольное приложение на весь экран
Здравствуйте! Пожалуйста подскажите каким кодом растянуть консольное приложение на весь.

Как написать эти задачи на C# (консольное приложение)
Добрый вечер, уважаемые пользователи. Помогите написать 2 программы. Задания написаны ниже. 1.

завершить консольное приложение c. tick. завершить консольное приложение c фото. завершить консольное приложение c-tick. картинка завершить консольное приложение c. картинка tick.Как добавить string в ресурсы? (консольное приложение)
Нужно чтобы вводимые во время выполнения программы данные сохранялись в программе, а не в текстовом.

Как вывести значения в таблицу (консольное приложение)
Мне нужно из цикла, вывести значения переменных x, f, g, y в таблицу вида x f(x) g(x) y.

Источник

Русские Блоги

На моем компьютере каждый день запускается множество консольных программ, поэтому управление работой этих программ становится проблемой. Другими словами, вы также можете рассмотреть возможность запуска консольной программы для выполнения определенных задач.

Содержание этой статьи

Используйте Ctrl + C, чтобы завершить консольную программу

Если вы используете его напрямую Process.Kill Убейте процесс, процесс может не успеть сохранить данные. Поэтому, будь то оконная программа или консольная программа, лучше всего позволить консольной программе закрыться сама по себе.

завершить консольное приложение c. e827c14cd42816b84b0152a8536b5018. завершить консольное приложение c фото. завершить консольное приложение c-e827c14cd42816b84b0152a8536b5018. картинка завершить консольное приложение c. картинка e827c14cd42816b84b0152a8536b5018.

завершить консольное приложение c. d2a9fdcf9ec5cd26f057c639bbc48b63. завершить консольное приложение c фото. завершить консольное приложение c-d2a9fdcf9ec5cd26f057c639bbc48b63. картинка завершить консольное приложение c. картинка d2a9fdcf9ec5cd26f057c639bbc48b63.

Ctrl + C сигнал

API Windows предоставляет способ связать текущий процесс с процессом целевой консоли, чтобы мы могли отправлять себе Ctrl+C Сигнал о завершении другого связанного с ним консольного процесса.

Методами ассоциирования и разъединения являются следующие два: AttachConsole с участием FreeConsole :

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

Необходимо использовать другой API:

Однако, поскольку на самом деле нам не нужно Ctrl+C Чтобы ответить, просто временно отключите следующее, поэтому мы передаем этому делегату null Достаточно.

Ниже я выложу полный код.

Полный исходный код

как пользоваться

Теперь мы можем позвонить ConsoleInterop.StopConsoleProgram(process) Чтобы безопасно завершить консольную программу.

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

завершить консольное приложение c. d2a9fdcf9ec5cd26f057c639bbc48b63. завершить консольное приложение c фото. завершить консольное приложение c-d2a9fdcf9ec5cd26f057c639bbc48b63. картинка завершить консольное приложение c. картинка d2a9fdcf9ec5cd26f057c639bbc48b63.

Ссылка

Мой блог начнется вhttps://blog.walterlv.com/, И CSDN будет выбирать и публиковать из него, но после публикации он редко обновляется.

Если вы видите в блоге что-то, чего не понимаете, сообщите об этом. я построилдотнет профессионально-технический колледж Приглашаем всех присоединиться.

Источник

Как немедленно закрыть консольное приложение С++?

В последнее время я пытаюсь изучить С++ из этого веб-сайта. К сожалению, всякий раз, когда я пытаюсь запустить один из примеров кода, я вижу, что эта программа открыта примерно на полсекунды, а затем сразу же закрывается. Есть ли способ немедленно закрыть программу, чтобы я мог видеть плоды моих усилий?

ОТВЕТЫ

Ответ 1

Изменить: Как справедливо отмечает Чарльз Бейли в комментарии ниже, это не сработает, если в stdin есть символы, буферизированные, и на самом деле нет хорошего способа обойти это. Если вы используете прилагаемый отладчик, предлагаемое решение John Dibling, вероятно, является самым чистым решением вашей проблемы.

Тем не менее, я оставлю это здесь, и, возможно, кто-то найдет это полезным. Я часто использовал его в качестве быстрого взлома при написании тестов во время разработки.

В конце вашей функции main вы можете вызвать std::getchar();

Ответ 2

Если вы используете Visual Studio, и вы запускаете консольное приложение из среды IDE:

нажатие CTRL-F5 (запуск без отладки) запустит приложение и откроет окно консоли, пока вы не нажмете любую клавишу.

Ответ 3

Решение James работает для всех платформ.

В качестве альтернативы на Windows вы также можете добавить следующее перед возвратом из функции main :

Ответ 4

Если вы используете Microsoft Visual С++ 2010 Express и столкнулись с проблемой: CTRL + F5 не работает для того, чтобы консоль открылась после завершения программы, посмотрите этот поток MSDN.

Вероятно, ваша IDE настроена на закрытие консоли после запуска CTRL + F5; на самом деле, «пустой проект» в Visual С++ 2010 закрывает консоль по умолчанию. Чтобы изменить это, сделайте так, как предположил Microsoft-модератор:

Пожалуйста, щелкните правой кнопкой мыши имя вашего проекта и перейдите на страницу «Свойства», пожалуйста, перейдите в «Свойства конфигурации» → «Линкер» → «Система», выберите «Консоль» (/SUBSYSTEM: CONSOLE) в раскрывающемся списке SubSystem. Поскольку по умолчанию проект Empty не указывает его.

Ответ 5

Ответ 6

Почему бы не просто запустить программу с консоли, а запустить программу из cmd.exe, если вы используете Windows. Таким образом, окно остается открытым после завершения программы.

[EDIT]: Когда я использую KDevelop4, на вкладке внизу среды IDE имеется полностью установленный экземпляр Bash (CLI Linux). Это то, что я использую в таких обстоятельствах.

Ответ 7

До конца кода вставьте эту строку:

Это будет держать консоль до тех пор, пока вы не нажмете клавишу.

Ответ 8

Вызвать cin.get(); 2 раза:

Ответ 9

Если вы запустите свой код из компетентной среды разработки, например Code:: Blocks, среда IDE будет управлять консолью, которую она использует для запуска код, сохраняя его открытым, когда приложение закрывается. Вы не хотите добавлять специальный код, чтобы консоль открывалась, потому что это предотвратит его правильное функционирование, если вы используете его на самом деле, вне среды IDE.

Ответ 10

Если вы действительно отлаживаете свое приложение в Visual С++, нажмите F5 или зеленый треугольник на панели инструментов. Если вы на самом деле не отлаживаете его (у вас нет установленных точек останова), нажмите Ctrl + F5 или выберите «Начать без отладки» в меню (обычно это в меню «Отладка», которое, я согласен, сбивает с толку.) Это будет немного быстрее, и что более важно для вас, остановится в конце, если вам не придется менять свой код.

В качестве альтернативы откройте командную строку, перейдите в папку, в которой находится ваш exe, и запустите ее, набрав ее имя. Таким образом, когда он закончил выполнение командной строки, она не закрывается, и вы можете увидеть результат. Я предпочитаю оба этих метода добавлять код, который останавливает приложение так же, как и его завершение.

Ответ 11

Хорошо, я предполагаю, что вы работаете в Windows с помощью Visual Studio. почему? Хорошо, потому что если вы находитесь на какой-то ОС Linux, вы, вероятно, будете запускать ее с консоли.

В любом случае вы можете добавить crap в конец вашей программы, как предлагают другие, или просто нажать CTRL + F5 (начать без отладки), а Visual Studio покинет консоль до завершения.

Ответ 12

Добавьте следующие строки перед любой функцией exit() или перед любым return в main() :

Ответ 13

Просто добавьте следующее в конце своей программы. Он попытается зафиксировать некоторую форму ввода пользователя, таким образом, он не позволит автоматически закрывать консоль.

Ответ 14

Для Visual Studio (и только Visual Studio) следующий фрагмент кода дает вам приглашение «дождаться нажатия клавиши для продолжения», которое действительно ждет, когда пользователь будет явно нажимать новый ключ, сначала очистив входной буфер:

Обратите внимание, что для этого используется макрос tchar.h для совместимости с несколькими «наборами символов» (как их называет VС++).

Ответ 15

Вместо того, чтобы нажимать кнопку запуска, одновременно нажмите клавиши CTRL и F5, это даст вам нажать любую клавишу для продолжения сообщения. Или введите «(предупреждение использовать это только для тестирования не актуальных программ, поскольку антивирусы им не нравятся. )» в конце вашей основной функции, но: (предупреждение использовать это только для тестирования не реальных программ в качестве антивирусов дона ‘t нравится это. )

Ответ 16

Используйте #include «stdafx.h» и system(«pause»); так же, как и код ниже.

Ответ 17

Ответ 18

Вы даже можете объявить целое число в начале вашей функции main() (скажем int a; ) и поместить std::cin >> a; непосредственно перед возвращаемым значением. Таким образом, программа будет работать до тех пор, пока вы не нажмете клавишу и не войдете.

Ответ 19

Это работает хорошо:

Если вы сначала очистите буфер, это не будет проблемой при чтении следующего. По какой-то причине cin.ignore(1) не работает, оно должно быть 2.

Ответ 20

Все, что вам нужно сделать, установите переменную для x, затем просто введите это перед возвратом 0;

Ответ 21

Вы всегда можете создать пакетный файл. Например, если ваша программа называется helloworld.exe, некоторый код будет:

Ответ 22

Я помещаю точку останова при последнем возврате 0 программы. Он отлично работает.

Ответ 23

Ответ 24

Ответ 25

Я просто делаю это:

Примечание: очистка буфера cin и это необходимо только в том случае, если вы использовали cin в какой-то момент раньше в вашей программе. Кроме того, использование std:: numeric_limits:: max(), вероятно, лучше, чем INT_MAX, но оно немного многословно и обычно не нужно.

Ответ 26

Ответ 27

Аналогичная идея для ответа yeh, минимальная альтернатива.

Создайте пакетный файл со следующим содержимым:

Затем используйте командный файл.

Ответ 28

Я не заметил, что кто-то еще разместил это, так что вот оно.

Ответ 29

просто используйте cin.ignore() прямо перед возвратом 0; дважды

Ответ 30

Источник

Как правильно выйти из приложения C #?

У меня есть опубликованное приложение на C #. Проблема здесь в том, что всякий раз, когда я закрываю основную форму, нажимая на красную кнопку выхода, она закрывает форму, но не закрывает приложение. Я узнал об этом, когда попытался выключить компьютер, надеясь, что приложение, которое я создал, работало без сбоев, а затем я был засыпан множеством дочерних окон, с которыми я установил MessageBox оповещения.

Я пытался, Application.Exit но он по-прежнему вызывает все дочерние окна и оповещения, и я не знаю, как использовать Environment.Exit и какое целое число вставить в него.

Кстати, всякий раз, когда мои формы вызывают событие formclosed или, form closing я закрываю приложение с помощью this.Hide() функции; Влияет ли это на поведение моего приложения сейчас?

Информирует все рассылки сообщений о том, что они должны прекратить работу, а затем закрывает все окна приложений после обработки сообщений. Этот код используется, если вы вызвали Application.Run (приложения WinForms), этот метод останавливает все выполняющиеся циклы сообщений во всех потоках и закрывает все окна приложения.

Завершает этот процесс и дает базовой операционной системе указанный код выхода. Это код для вызова, когда вы используете консольное приложение.

Я знаю, что это не та проблема, с которой вы столкнулись, однако еще одна причина, по которой это может произойти, заключается в том, что в вашем приложении открыт не фоновый поток.

Все, что тебе нужно System.Environment.Exit(1);

И он использует системное пространство имен «using System», которое почти всегда присутствует при запуске проекта.

Я бы выбрал одно из следующих:

для консольного приложения (работает также на winforms).

Кстати. всякий раз, когда мои формы вызывают событие formclosed или закрытия формы, я закрываю приложение с помощью функции this.Hide (). Влияет ли это на поведение моего приложения сейчас?

Короче да. Все приложение закончится, когда основная форма (форма, запущенная Application.Run в Main методе) будет закрыта (не скрыта).

Если все ваше приложение всегда должно полностью завершаться всякий раз, когда ваша основная форма закрыта, вам следует просто удалить этот обработчик закрытой формы. Не отменяя это событие и просто позволяя им закрыться, когда пользователь закроет его, вы получите желаемое поведение. Что касается всех других форм, если вы не собираетесь снова показывать тот же экземпляр формы, вы просто позволяете им закрыться, вместо того, чтобы предотвращать закрытие и скрывать их. Если вы показываете их снова, то их можно скрыть.

Если вы хотите, чтобы пользователь мог щелкнуть «x» для основной формы, но оставить другую форму открытой и, по сути, стать «новой» основной формой, то это немного сложнее. В таком случае вам нужно будет просто скрыть свою основную форму, а не закрывать ее, но вам нужно будет добавить какой-то механизм, который фактически закроет основную форму, когда вы действительно хотите, чтобы ваше приложение заканчивалось. Если вы находитесь в такой ситуации, вам нужно добавить больше вопросов к вашему вопросу, описывающих, какие типы приложений должны и не должны завершать программу.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *