Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
 Аватар для igor_fl
63 / 63 / 28
Регистрация: 18.03.2014
Сообщений: 794

Какое возникает событие, если завершить процесс приложения

18.09.2014, 21:28. Показов 4445. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Подскажите, какое возникает событие, если приложение завершит в процессах?
Приложение консольное.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2014, 21:28
Ответы с готовыми решениями:

Какое событие возникает при...
Какое событие возникает при нажатие мышкой на ScrollBarе StringGrida. когда нажимаем на кнопки со стрелками или двигаем ползунок?

Какое событие возникает при потере фокуса в TextBox
как перехватить событие когда я чтота печатал в текстбоксе. а потом кликнул в другое место. кликед и ли что?

Какое событие возникает при отпускании кнопки мыши?
Какое событие возникает при отпускании кнопки мыши? mouseunpress unpress mouseup mouserelease mouseloose К каким из этих тегов...

12
290 / 271 / 107
Регистрация: 10.06.2011
Сообщений: 696
18.09.2014, 22:20
Никакого
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
18.09.2014, 22:36
Darth Coder, а если найду?
C#
1
AppDomain.CurrentDomain.ProcessExit += (sender, e) => Console.WriteLine("exit");
Добавлено через 3 минуты
Еще вариант http://geekswithblogs.net/mrna... 11594.aspx
1
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
18.09.2014, 22:52
I2um1, Ваш вариант не работает, проверил, вероятно, когда из диспетчера завершаешь процесс, clr то тоже выгружается из процесса. Но если программно:
C#
1
Process.GetCurrentProcess().Close();
, то робит.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
18.09.2014, 23:02
Цитата Сообщение от IamRain Посмотреть сообщение
Ваш вариант не работает
100500
Вот так проверил, и ничего...
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.IO;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += (sender, e) =>
                {
                    using (StreamWriter sw = File.CreateText(@"C:\log.txt"))
                    {
                        sw.WriteLine("Process was killing by user!");
                    }
                };
            Console.ReadLine();
        }
    }
}
1
 Аватар для igor_fl
63 / 63 / 28
Регистрация: 18.03.2014
Сообщений: 794
19.09.2014, 01:21  [ТС]
К сожалению ни один из вариантов не работает(((
А есть ли какие-либо варианты с WinForms?
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
19.09.2014, 09:07
Цитата Сообщение от insite2012 Посмотреть сообщение
Вот так проверил, и ничего...
Смотря как убивать - разные события происходят.

Файл создается при убивании процесса через task manager:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.IO;
using System.Runtime.InteropServices;
 
namespace ConsoleApplication
{
    internal class Program
    {
        public delegate bool HandlerRoutine(CtrlTypes ctrlType);
 
        public enum CtrlTypes
        {
            CTRL_C_EVENT = 0,
 
            CTRL_BREAK_EVENT,
 
            CTRL_CLOSE_EVENT,
 
            CTRL_LOGOFF_EVENT = 5,
 
            CTRL_SHUTDOWN_EVENT
        }
 
        private static void Main()
        {
            SetConsoleCtrlHandler(ConsoleCtrlCheck, true);
            Console.WriteLine("Started");
            Console.ReadKey(true);
        }
 
        [DllImport("Kernel32")]
        public static extern bool SetConsoleCtrlHandler(HandlerRoutine handler, bool add);
 
        private static bool ConsoleCtrlCheck(CtrlTypes ctrlType)
        {
            using (StreamWriter sw = File.CreateText(@"D:\log.txt"))
            {
                sw.WriteLine("Process was killing by user!");
            }
            return true;
        }
    }
}
Цитата Сообщение от igor_fl Посмотреть сообщение
А есть ли какие-либо варианты с WinForms?
Эти способы не к чему не привязаны.

Добавлено через 1 минуту
Уверен, что есть еще способы, лень искать.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
19.09.2014, 09:35
I2um1, ну так ясно, вы тут использовали WinAPI... А что касается приложения без его использования (как я понял, вопрос был именно так поставлен), какое возникает событие, в смысле событие именно в C# при завершении приложения через taskmanager...
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
19.09.2014, 09:51
Цитата Сообщение от igor_fl Посмотреть сообщение
Подскажите, какое возникает событие, если приложение завершит в процессах?
Никакое.
Процесс не может отследить момент завершения самого себя через диспетчер/kill.
И ни SetConsoleCtrlHandler, ни другие аналогичные средства здесь не помогут.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
19.09.2014, 10:06
О зануды.

Добавлено через 1 минуту
С таким подходом никакое.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
19.09.2014, 14:38
Цитата Сообщение от I2um1 Посмотреть сообщение
О зануды.
Отож !

Цитата Сообщение от I2um1 Посмотреть сообщение
С таким подходом никакое.
Никакое. По факту.
Кто хочет контролировать попытки убиения себя - пишут всякие перехваты,
драйверы и т.п.
1
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
20.09.2014, 11:37
Цитата Сообщение от Убежденный Посмотреть сообщение
пишут всякие перехваты, драйверы и т.п.
Оно-то и понятно, у меня такой функционал сроднен с написанием вируса.

AppDomain.CurrentDomain.ProcessExit должен хватать для обычных сценариев. Когда пользователь пытается убить процесс, он на это идет осознано. С таким успехом можно дойти до того, что приложение должно что-то делать, когда пользователь выдергивает вилку с розетки.
1
 Аватар для igor_fl
63 / 63 / 28
Регистрация: 18.03.2014
Сообщений: 794
20.09.2014, 16:29  [ТС]
Всем спасибо, узнал новую информацию для себя. Буду пытаться что-то придумать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.09.2014, 16:29
Помогаю со студенческими работами здесь

Какое событие возникает при выборе элемента в ComboBox
Какова лексика СomboBox в коде? Уже ввел возможные варианты в раскрывающийся список. Вот, нажимаю я дважды на него, попадаю в код. Что...

Какое событие возникает при разворачивании выпадающего списка?
Доброго времени суток! На форме комбобокс. Какое событие происходит при нажатии на значек (черная стрелочка), смотрите картинку....

Какое событие возникает при выборе элемента в ListBox
извините за тупой вопрос, но как называется эвент для листбокса, срабатывающий при выборе итема в нем? уже минут 20 втыкаю, уже до...

Как завершить процесс стороннего приложения
Например есть какойто запущеный процес "pro", путь - "D:\pro.exe". Какой код, чтоб проверить запущен ли процесс "pro" , если...

Какое событие возникает при изменении количества элементов в ListBox
Данные для listBox2 берутся из <BindingList> fiList2 Если я меняю fiList2, то меняется и содержимое listBox2, как мне и нужно. ...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru