AllocConsole 函数

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

语法

BOOL WINAPI AllocConsole(void);

parameters

此函数没有参数。

返回值

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

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 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