Функция AllocConsole
Выделяет новую консоль для вызывающего процесса.
BOOL WINAPI AllocConsole(void);
У этой функции нет параметров.
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Процесс можно связать только с одной консолью, поэтому функция AllocConsole завершается сбоем, если у вызывающего процесса уже есть консоль. Процесс может использовать функцию FreeConsole, чтобы отключиться от текущей консоли, а затем вызвать AllocConsole, чтобы создать новую консоль или AttachConsole, чтобы подключиться к другой консоли.
Если вызывающий процесс создает дочерний процесс, то этот дочерний процесс наследует новую консоль.
AllocConsole инициализирует стандартный ввод, стандартный вывод и стандартные дескрипторы ошибок для новой консоли. Стандартный дескриптор ввода представляет собой дескриптор для входного буфера консоли, а стандартный выходной дескриптор и стандартный дескриптор ошибок являются дескрипторами для буфера экрана консоли. Чтобы получить эти дескрипторы, используйте функцию GetStdHandle.
Эта функция в основном используется приложением графического пользовательского интерфейса (GUI) для создания окна консоли. Приложения GUI инициализируются без консоли. Консольные приложения инициализируются с помощью консоли, если они не созданы как отключенные процессы (путем вызова функции CreateProcess с флагом DETACHED_PROCESS).
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхний колонтитул | ConsoleApi.h (через WinCon.h, включая Windows.h) |
Библиотека | Kernel32.lib |
DLL-библиотеки | Kernel32.dll |