Функция AllocConsole

Выделяет новую консоль для вызывающего процесса.

Синтаксис

BOOL WINAPI AllocConsole(void);

Параметры

У этой функции нет параметров.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Замечания

Процесс можно связать только с одной консолью, поэтому функция AllocConsole завершается сбоем, если у вызывающего процесса уже есть консоль. Процесс может использовать функцию FreeConsole, чтобы отключиться от текущей консоли, а затем вызвать AllocConsole, чтобы создать новую консоль или AttachConsole, чтобы подключиться к другой консоли.

Если вызывающий процесс создает дочерний процесс, то этот дочерний процесс наследует новую консоль.

AllocConsole инициализирует стандартный ввод, стандартный вывод и стандартные дескрипторы ошибок для новой консоли. Стандартный дескриптор ввода представляет собой дескриптор для входного буфера консоли, а стандартный выходной дескриптор и стандартный дескриптор ошибок являются дескрипторами для буфера экрана консоли. Чтобы получить эти дескрипторы, используйте функцию GetStdHandle.

Эта функция в основном используется приложением графического пользовательского интерфейса (GUI) для создания окна консоли. Приложения GUI инициализируются без консоли. Консольные приложения инициализируются с помощью консоли, если они не созданы как отключенные процессы (путем вызова функции CreateProcess с флагом DETACHED_PROCESS).

Requirements

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхний колонтитул ConsoleApi.h (через WinCon.h, включая Windows.h)
Библиотека Kernel32.lib
DLL-библиотеки Kernel32.dll

См. также

Функции консоли

Консоли

AttachConsole

Createprocess

FreeConsole

GetStdHandle