освободить parent console до завершения приложения

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: освободить parent console до завершения приложения

Eugie » 18 окт 2004, 00:53

Как освободить родительскую консоль в NT до завершения приложения?
Запустить консольное приложение

а) либо с помощью команды start:

start myapp.exe

б) либо вызовом CreateProcess с параметром dwCreationFlags = CREATE_NEW_CONSOLE.

не надо убивать

rc » 14 окт 2004, 11:50

Нет, ее не надо убивать - только освободить. Чтобы она снова готова была для приема команд.
Под W98 функция FreeConsole делает это. А в NT только сбрасыват указатели стандартного ввода/вывода, консоль же продолжает ожидать завершения программы.

Kolinus » 13 окт 2004, 13:26

В ремарке написано что никто не может убить консоль пока она используется другими процессами - возможно твой случай.
Можно попробовать сделать следующее - получить окно консоли GetConsolWnd или что-то такое и убить ее как простое окно.

освободить parent console до завершения приложения

rc » 13 окт 2004, 04:01

Hi,
Как освободить родительскую консоль (cmd.exe) до завершения приложения?
При запуске консольного приложения из родительской консоли (command.com, cmd.exe) в Windows 98 можно освободить род. консоль до завершения приложения вызвав FreeConsole(). Т.е. программа запустилась, написала что-либо на родительской консоле, освободила ее (окно готово к приему команд) и продолжает выполняться.
В NT-системах (2000, XP) при запуске консольного приложения из родительсой консоли (CMD.EXE) освободить ее (окно CMD) невозможно пока приложение не завершится. Даже после вызова FreeConsole() окно CMD.EXE продолжает ожидать завершения приложения, не реагируя ни на что - вроде как зависла. Курсор появляется только когда программа завершится.
Как освободить родительскую консоль в NT до завершения приложения?
------------------------
Сергей

Вернуться к началу