AllocConsole 函数

为调用进程分配一个新的控制台。

语法

BOOL WINAPI AllocConsole(void);

参数

此函数没有参数。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError

备注

一个进程只能与一个控制台相关联,因此,如果调用进程已有一个控制台,则 AllocConsole 函数会失败。 进程可使用 FreeConsole 函数从其当前控制台分离自身,然后它可调用 AllocConsole 来创建新的控制台或使用 AttachConsole 附加到另一个控制台

如果调用进程创建了一个子进程,则该子进程将继承新控制台。

AllocConsole 为新控制台初始化标准输入、标准输出和标准错误句柄。 标准输入句柄是控制台输入缓冲区的句柄,而标准输出和标准错误句柄则是控制台屏幕缓冲区的句柄。 若要检索这些句柄,请使用 GetStdHandle 函数

此函数主要由图形用户界面 (GUI) 应用程序用来创建一个控制台窗口。 无需控制台即可初始化 GUI 应用程序。 控制台应用程序使用控制台进行初始化,除非这些应用程序创建为分离的进程(通过使用 DETACHED_PROCESS 标志调用 CreateProcess 函数)

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 ConsoleApi.h (via WinCon.h, include Windows.h)
Kernel32.lib
DLL Kernel32.dll

另请参阅

控制台函数

控制台

AttachConsole

CreateProcess

FreeConsole

GetStdHandle