Здравствуйте, kwsergio, Вы писали:
K>Приветствую всех!
K>Возможно ли сделать сделать обработчик закрытия кнопки [x]? Т.е. чтобы при нажатии на [x] не виндовс "убивал" процесс, а программа сама завершалась.Или в консольных приложениях это не возможно?
K>А если возможно то как?
if(Console.ReadKey() == ConsoleKey.X)
{
Thread.CurrentThread.Abort();
}
K>Спасибо!
Здравствуйте, ZARATUSTR, Вы писали:
K>>Приветствую всех!
K>>Возможно ли сделать сделать обработчик закрытия кнопки [x]? Т.е. чтобы при нажатии на [x] не виндовс "убивал" процесс, а программа сама завершалась.Или в консольных приложениях это не возможно?
ZAR>
ZAR>if(Console.ReadKey() == ConsoleKey.X)
ZAR> {
ZAR> Thread.CurrentThread.Abort();
ZAR> }
ZAR>
в смысле кнопки закрытия окна
Hello, "kwsergio"
>
> в смысле кнопки закрытия окна
В MSDN можно найти пример по SetConsoleCtrlHandler
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>В MSDN можно найти пример по SetConsoleCtrlHandler
нашел, но не совсем понятно как использовать в C#
прототип функции
BOOL SetConsoleCtrlHandler(
PHANDLER_ROUTINE HandlerRoutine,
BOOL Add
);
как передать метод класса в данной функции?
т.е. как вообще ее можно использовать?
аналога с .NET я не нашел
P.S. просьба сильно не пинать если что, я начинающий в C#
Здравствуйте, 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>>
Здравствуйте, 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
Насколько я понимаю для это надо использовать api функцию
SetConsoleCtrlHandler так как стандартный класс Console поддерживает только событие CancelKeyPress. Сигнатуру вызова найдешь на сайте
pinvoke.net.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение