Форум: "Основная";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];
ВнизКак прервать консольное приложение по Ctrl+C ? Найти похожие ветки
← →
Валигози © (2009-03-25 16:26) [0]Есть некоторое консольное приложение (распаковщик), работу которого можно в любой момент прервать нажав стандартную комбинацию клавиш: Ctrl+C.
Я это приложение запускаю в своём приложении с помощью CreateProcess в скрытом виде (т.е. окно консоли на экране не показывается).
А вот как бы мне прервать это консольное приложение, если пользователю вдруг надоест ждать результатов его работы?
Я пробовал посылать окну консоли клавиши Ctrl+C - никакого эффекта, а прерывать через TerminateProcess - это наверно не настолько корректно, чем через Ctrl+C...
← →
Palladin © (2009-03-25 17:06) [1]GenerateConsoleCtrlEvent
← →
Валигози © (2009-03-26 09:59) [2]
> Palladin © (25.03.09 17:06) [1]
>
> GenerateConsoleCtrlEvent
В прошлом году долго я с этой функцией экспериментировал - работоспособного варианта добиться не удалось - так и забросил этот вопрос... :(
А можно небольшой примерчик работы этой функции, включая вызов CreateProcess (например с таким консольным приложением: "ping -t 127.0.0.1")?
← →
Palladin © (2009-03-26 16:15) [3]да, кажется есть какие то нюансы, надо ковырятся, а лень... ) да и своих дел хватает...
← →
Leonid Troyanovsky © (2009-03-26 18:18) [4]
> Валигози © (25.03.09 16:26)
> А вот как бы мне прервать это консольное приложение,
h := FindWindow("ConsoleWindowClass", nil);
SendMessage(h, WM_SYSCOMMAND, SC_CLOSE, 0);
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c