AllocConsoleWithOptions 函数

(可选)为调用过程分配新控制台,同时允许指定新控制台窗口的可见性。

语法

HRESULT WINAPI AllocConsoleWithOptions(
    _In_opt_  PALLOC_CONSOLE_OPTIONS allocOptions,
    _Out_opt_ PALLOC_CONSOLE_RESULT  result
);

参数

allocOptions [in, 可选] 一个ALLOC_CONSOLE_OPTIONS结构,控制此函数如何分配窗口。

result [out, 可选] 接收以下值之一:

价值 含义
ALLOC_CONSOLE_RESULT_NO_CONSOLE 0 未创建控制台,因为使用了 ALLOC_CONSOLE_MODE_DEFAULT ,并且父进程要求不创建任何主机。
ALLOC_CONSOLE_RESULT_NEW_CONSOLE 1 由于此调用,创建了一个新的控制台会话。 生成的行为与 AllocConsole 相同。
ALLOC_CONSOLE_RESULT_EXISTING_CONSOLE 2 该进程已附加到现有控制台会话,由父进程继承。 生成的行为与 AttachConsole 相同。

返回值

类型:HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

AllocConsoleAttachConsole 不同,当已连接到控制台会话时调用此方法不会导致错误。 在这种情况下,结果参数将设置为 ALLOC_CONSOLE_RESULT_EXISTING_CONSOLE

进程可以使用 FreeConsole 函数从其当前控制台中分离自身。 当附加到控制台的最后一个进程终止或调用 FreeConsole 时,控制台将关闭。

要求

   
支持的最低客户端 Windows 11 24H2 (内部版本 26100) [仅限桌面应用]
支持的最低服务器 Windows Server 2025(内部版本 26100)
标题 ConsoleApi.h (via WinCon.h, include Windows.h)
图书馆 Kernel32.lib
DLL Kernel32.dll

另请参阅

控制台函数

控制台

控制台分配策略

AllocConsole

AttachConsole

FreeConsole