Как завершить программу c
Перейти к содержимому

Как завершить программу c

  • автор:

Как прекратить выполнение программы?

Есть программа, написанная на C#, Windows.Form.
Какой встроенной функцией мне прекратить выполнение программы?
Важно: необходимо не завершить процесс, а именно прекратить, чтобы можно было дальше работать с программой. Пробовал функции exit() и System.Threading.Thread.CurrentThread.Abort() — после выполнения функций происходило закрытие формы.

Отслеживать
11 1 1 золотой знак 2 2 серебряных знака 8 8 бронзовых знаков
задан 19 дек 2014 в 20:06
МаринаВоин МаринаВоин
898 5 5 серебряных знаков 10 10 бронзовых знаков

>Важно: необходимо не завершить процесс, а именно прекратить. Что бы можно было дальше работать с программой Эмм..это как?

19 дек 2014 в 20:15

Смотри, при вызове команды exit() идет закрытие программы(Windows Forms). А мне надо не закрывать, а просто закончить выполнение всех функций.

19 дек 2014 в 20:18

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

19 дек 2014 в 20:27

Вы, конечно, можете сделать Thread.Sleep или Suspend, но эти методы лишь приостанавливают текущий поток, а не «заканчивают выполнение всех функций». При этом ваша программа просто зависнет

Завершение программы C++

Функция, объявленная exit в , завершает программу C++. Значение, предоставленное в качестве аргумента exit , возвращается операционной системе в качестве возвращаемого кода программы или кода выхода. Принято, чтобы нулевым кодом возврата обозначалось, что программа завершена успешно. Константы EXIT_FAILURE можно использовать, а EXIT_SUCCESS также определенные в , чтобы указать успешность или сбой программы.

Функция abort

Функция abort , объявленная в стандартном формате, включает , завершает программу C++. Разница между exit и abort заключается в том, что exit обработка завершения среды выполнения C++ выполняется (вызывается глобальные деструкторы объектов). abort немедленно завершает программу. Функция abort проходит обычный процесс уничтожения для инициализированных глобальных статических объектов. Также осуществляется обход всей специальной обработки, которая была задана с помощью функции atexit .

Корпорация Майкрософт: по соображениям совместимости Windows реализация abort microsoft может разрешить выполнение кода завершения библиотеки DLL в определенных обстоятельствах. Дополнительные сведения см. в разделе abort .

Функция atexit

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

return оператор in main

Инструкция return позволяет указать возвращаемое значение из main . Оператор return в main первую очередь действует как любая другая return инструкция. Все автоматические переменные уничтожаются. main Затем вызывает возвращаемое exit значение в качестве параметра. Рассмотрим следующий пример:

// return_statement.cpp #include struct S < int value; >; int main() < S s< 3 >; exit( 3 ); // or return 3; > 

return Операторы exit , описанные в предыдущем примере, имеют аналогичное поведение. Как завершить программу, так и вернуть значение 3 операционной системе. Разница заключается в том, что exit не уничтожает автоматическую переменную s , а return оператор делает.

Как правило, C++ требует, чтобы функции, имеющие возвращаемые типы, отличные от void возвращаемого значения. Функция является исключением. Она main может завершиться без инструкции return . В этом случае он возвращает значение, зависящее от реализации, в вызывающий процесс. (По умолчанию MSVC возвращает значение 0.)

Уничтожение потоков и статических объектов

При вызове exit напрямую (или при вызове после оператора из main ), объекты потоков, связанные с текущим потоком return , уничтожаются. Затем статические объекты уничтожаются в обратном порядке их инициализации (после вызовов функций, указанных в , если таковые имеются atexit ). В следующем примере показано выполнение такого процесса инициализации и удаления.

Пример

В следующем примере статические объекты sd1 создаются и sd2 инициализированы перед записью main . После завершения работы этой программы с помощью инструкции return сначала sd2 уничтожается, а затем sd1 . Деструктор класса ShowData закрывает файлы, связанные с этими статическими объектами.

// using_exit_or_return1.cpp #include class ShowData < public: // Constructor opens a file. ShowData( const char *szDev ) < errno_t err; err = fopen_s(&OutputDev, szDev, "w" ); >// Destructor closes the file. ~ShowData() < fclose( OutputDev ); >// Disp function shows a string on the output device. void Disp( char *szData ) < fputs( szData, OutputDev ); >private: FILE *OutputDev; >; // Define a static object of type ShowData. The output device // selected is "CON" -- the standard output device. ShowData sd1 = "CON"; // Define another static object of type ShowData. The output // is directed to a file called "HELLO.DAT" ShowData sd2 = "hello.dat"; int main()

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

Как принудительно закрыть программу на Windows

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

Команда контент-менеджеров wikiHow тщательно следит за работой редакторов, чтобы гарантировать соответствие каждой статьи нашим высоким стандартам качества.

Количество просмотров этой статьи: 154 695.

В этой статье:

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

Step 1 Откройте Диспетчер задач.

  • Или одновременно нажмите клавиши Control + ⇧ Shift + Esc .

Step 2 Нажмите на вкладку.

Нажмите на вкладку Процессы в левом верхнем углу окна Диспетчера задач.

Step 3 Выберите из списка программу, которая перестала отвечать.

Выберите из списка программу, которая перестала отвечать. Нажмите на название проблемной программы. В Windows 10 и 8 эта программа будет находиться под заголовком «Приложения».

Step 4 Нажмите на Снять задачу в правом нижнем углу окна диспетчера задач.

  • Если программа не закроется, нажмите на ее название правой кнопкой мыши. Выберите опцию Подробно (или Перейти к процессу в более старых версиях Windows) и завершите процесс этой программы.

Дополнительные статьи

проверить ключ продукта Windows

проверить ключ продукта Windows

сделать матричный дождь в командной строке

сделать матричный дождь в командной строке

открыть DLL–файлы

открыть DLL–файлы

открыть файл в Windows

открыть файл в Windows

войти в BIOS

войти в BIOS

запустить Диспетчер задач из командной строки

запустить Диспетчер задач из командной строки

узнать путь к файлу в Windows

узнать путь к файлу в Windows

очистить реестр Windows вручную

очистить реестр Windows вручную

настроить яркость в Windows 7

настроить яркость в Windows 7

открыть панель управления из командной строки

открыть панель управления из командной строки

изменить язык в Windows 7

изменить язык в Windows 7

запустить восстановление системы

запустить восстановление системы

уменьшить изображение на экране компьютера

уменьшить изображение на экране компьютера

изменить дату и время посредством командной строки

изменить дату и время посредством командной строки

Об этой статье

Штатный автор wikiHow

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

Команда контент-менеджеров wikiHow тщательно следит за работой редакторов, чтобы гарантировать соответствие каждой статьи нашим высоким стандартам качества. Количество просмотров этой статьи: 154 695.

Как принудительно закрыть программу на Windows

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

Команда контент-менеджеров wikiHow тщательно следит за работой редакторов, чтобы гарантировать соответствие каждой статьи нашим высоким стандартам качества.

Количество просмотров этой статьи: 154 695.

В этой статье:

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

Step 1 Откройте Диспетчер задач.

  • Или одновременно нажмите клавиши Control + ⇧ Shift + Esc .

Step 2 Нажмите на вкладку.

Нажмите на вкладку Процессы в левом верхнем углу окна Диспетчера задач.

Step 3 Выберите из списка программу, которая перестала отвечать.

Выберите из списка программу, которая перестала отвечать. Нажмите на название проблемной программы. В Windows 10 и 8 эта программа будет находиться под заголовком «Приложения».

Step 4 Нажмите на Снять задачу в правом нижнем углу окна диспетчера задач.

  • Если программа не закроется, нажмите на ее название правой кнопкой мыши. Выберите опцию Подробно (или Перейти к процессу в более старых версиях Windows) и завершите процесс этой программы.

Дополнительные статьи

проверить ключ продукта Windows

проверить ключ продукта Windows

сделать матричный дождь в командной строке

сделать матричный дождь в командной строке

открыть DLL–файлы

открыть DLL–файлы

открыть файл в Windows

открыть файл в Windows

войти в BIOS

войти в BIOS

запустить Диспетчер задач из командной строки

запустить Диспетчер задач из командной строки

узнать путь к файлу в Windows

узнать путь к файлу в Windows

очистить реестр Windows вручную

очистить реестр Windows вручную

настроить яркость в Windows 7

настроить яркость в Windows 7

открыть панель управления из командной строки

открыть панель управления из командной строки

изменить язык в Windows 7

изменить язык в Windows 7

запустить восстановление системы

запустить восстановление системы

уменьшить изображение на экране компьютера

уменьшить изображение на экране компьютера

изменить дату и время посредством командной строки

изменить дату и время посредством командной строки

Об этой статье

Штатный автор wikiHow

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

Команда контент-менеджеров wikiHow тщательно следит за работой редакторов, чтобы гарантировать соответствие каждой статьи нашим высоким стандартам качества. Количество просмотров этой статьи: 154 695.

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

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