Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.21;
Скачать: CL | DM;

Вниз

Как прервать консольное приложение по 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1261080452
TComponent
2009-12-17 23:07
2010.02.21
Устойчивый фокус на TreeView


15-1260546289
test
2009-12-11 18:44
2010.02.21
Форум и вопросы


2-1261467325
pg81
2009-12-22 10:35
2010.02.21
Как передать адрес метода из dll в приложение и присвоить его соб


13-1124465855
FUNKy
2005-08-19 19:37
2010.02.21
DataSet + WebService + ASP.NET + Delphi 2005 = трабл


1-1238062630
EgorovAlex
2009-03-26 13:17
2010.02.21
Обработка Mouse Wheel: как это сделать корректно? Вот в Бате это