選擇性地為呼叫進程配置新的控制台,同時讓您指定新控制台視窗的可見度。
語法
HRESULT WINAPI AllocConsoleWithOptions(
_In_opt_ PALLOC_CONSOLE_OPTIONS allocOptions,
_Out_opt_ PALLOC_CONSOLE_RESULT result
);
參數
allocOptions [輸入,選擇性] 一個 ALLOC_CONSOLE_OPTIONS 結構,用於控制此函式如何配置視窗。
result [out, optional] 接收下列其中一個值:
| 價值觀 | 意義 |
|---|---|
| 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 錯誤碼。
備註
與 AllocConsole 或 AttachConsole 不同,當已連線到主控台會話時呼叫此方法不會產生錯誤。 在此情況下,結果參數會設定為 ALLOC_CONSOLE_RESULT_EXISTING_CONSOLE。
進程可以使用 FreeConsole 函式,將本身與其目前的控制台中斷連結。 當附加至主控台的最後一個進程終止或呼叫 FreeConsole時,主控台就會關閉。
需求
| 最低支援的用戶端 | Windows 11 24H2 (版本 26100) [僅限桌面應用程式] |
| 最低支援的伺服器 | Windows Server 2025 (版本 26100) |
| 頁首 | ConsoleApi.h(透過 WinCon.h,包含 Windows.h) |
| 圖書館 | 內核 32.lib |
| DLL | Kernel32.dll |