консольное приложение и кнопка [x]
От: kwsergio  
Дата: 23.01.07 09:38
Оценка:
Приветствую всех!

Возможно ли сделать сделать обработчик закрытия кнопки [x]? Т.е. чтобы при нажатии на [x] не виндовс "убивал" процесс, а программа сама завершалась.Или в консольных приложениях это не возможно?

А если возможно то как?

Спасибо!
Re: консольное приложение и кнопка [x]
От: ZARATUSTR Россия  
Дата: 23.01.07 11:13
Оценка: :))) :))) :))) :))
Здравствуйте, kwsergio, Вы писали:

K>Приветствую всех!


K>Возможно ли сделать сделать обработчик закрытия кнопки [x]? Т.е. чтобы при нажатии на [x] не виндовс "убивал" процесс, а программа сама завершалась.Или в консольных приложениях это не возможно?


K>А если возможно то как?



if(Console.ReadKey() == ConsoleKey.X)
            {
                Thread.CurrentThread.Abort();
            }


K>Спасибо!
Re[2]: консольное приложение и кнопка [x]
От: kwsergio  
Дата: 23.01.07 12:14
Оценка:
Здравствуйте, ZARATUSTR, Вы писали:

K>>Приветствую всех!


K>>Возможно ли сделать сделать обработчик закрытия кнопки [x]? Т.е. чтобы при нажатии на [x] не виндовс "убивал" процесс, а программа сама завершалась.Или в консольных приложениях это не возможно?

ZAR>

ZAR>if(Console.ReadKey() == ConsoleKey.X)
ZAR>            {
ZAR>                Thread.CurrentThread.Abort();
ZAR>            }

ZAR>


в смысле кнопки закрытия окна
Re[3]: консольное приложение и кнопка [x]
От: TK Лес кывт.рф
Дата: 23.01.07 21:11
Оценка:
Hello, "kwsergio"
>
> в смысле кнопки закрытия окна

В MSDN можно найти пример по SetConsoleCtrlHandler
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: консольное приложение и кнопка [x]
От: kwsergio  
Дата: 24.01.07 04:51
Оценка:
Здравствуйте, TK, Вы писали:

TK>В MSDN можно найти пример по SetConsoleCtrlHandler


нашел, но не совсем понятно как использовать в C#

прототип функции

BOOL SetConsoleCtrlHandler(
  PHANDLER_ROUTINE HandlerRoutine,
  BOOL Add
);


как передать метод класса в данной функции?
т.е. как вообще ее можно использовать?
аналога с .NET я не нашел

P.S. просьба сильно не пинать если что, я начинающий в C#
Re[5]: консольное приложение и кнопка [x]
От: Morpheus_  
Дата: 24.01.07 11:22
Оценка:
Здравствуйте, kwsergio, Вы писали:

TK>>В MSDN можно найти пример по SetConsoleCtrlHandler


K>нашел, но не совсем понятно как использовать в C#


K>прототип функции


K>
K>BOOL SetConsoleCtrlHandler(
K>  PHANDLER_ROUTINE HandlerRoutine,
K>  BOOL Add
K>);
K>


K>как передать метод класса в данной функции?

K>т.е. как вообще ее можно использовать?
K>аналога с .NET я не нашел

K>P.S. просьба сильно не пинать если что, я начинающий в C#


а поиск по форуму сделать сложно? Тут уже обсуждался код на C# для этой функции
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: консольное приложение и кнопка [x]
От: Tony_K  
Дата: 24.01.07 13:00
Оценка:
Здравствуйте, kwsergio, Вы писали:

K>Здравствуйте, TK, Вы писали:


TK>>В MSDN можно найти пример по SetConsoleCtrlHandler


K>нашел, но не совсем понятно как использовать в C#


K>прототип функции


K>
K>BOOL SetConsoleCtrlHandler(
K>  PHANDLER_ROUTINE HandlerRoutine,
K>  BOOL Add
K>);
K>


K>как передать метод класса в данной функции?

K>т.е. как вообще ее можно использовать?
K>аналога с .NET я не нашел

K>P.S. просьба сильно не пинать если что, я начинающий в C#


www.pinvoke.net
RE: Re[2]: консольное приложение и кнопка [x]
От: Аноним  
Дата: 23.01.07 16:25
Оценка:
Насколько я понимаю для это надо использовать api функцию SetConsoleCtrlHandler так как стандартный класс Console поддерживает только событие CancelKeyPress. Сигнатуру вызова найдешь на сайте pinvoke.net.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.