· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Послать консольке Ctrl+C

Посл.отвђт Сообщенiе


Дата: Авг 8, 2004 02:31:41

Есть у меня GUI-приложение, которое создает консоль(AllocConsole), ввод/вывод делаю через анонимные пайпы, назначив их by SetStdHandle. Через CreateProcess запускаю какой-нить консольный процесс типа ping, указав ему в STARTUP_INFO свои in/out/err хэндлы. Обмен информацией идет нормально, но вот Ctrl+C он ловить не хочет. Если в GenerateConsoleCtrlEvent передать pID запущенного через CreateProcess(и с CREATE_NEW_PROCESS_GROUP, и без него) процесса, то ничего не происходит, а если передать ноль(т.е. сообщение посылается всем процессам, прикрепленным к консоли), то моя прога мгновенно дохнет.

Где могёт быть ашипка?


Дата: Авг 8, 2004 05:27:40

Может функцией SetConsoleCtrlHandler в своей программе нужно установить CtrlHandler, который будет возвращать TRUE?


Дата: Авг 8, 2004 13:41:02

Black_mirror
Во я гоню :)
All console processes have a default handler function that calls the ExitProcess function.

Я же сам вчера этот абзац читал. Прочитать прочитал, а подумать забыл. :))


Дата: Авг 8, 2004 13:47:55

„Где могёт быть ашипка?“ - здесь 8)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.037