GetConsoleWindow function


This document describes console platform functionality that is no longer a part of our ecosystem roadmap. We do not recommend using this content in new products, but we will continue to support existing usages for the indefinite future. Our preferred modern solution focuses on virtual terminal sequences for maximum compatibility in cross-platform scenarios. You can find more information about this design decision in our classic console vs. virtual terminal document.

Retrieves the window handle used by the console associated with the calling process.


HWND WINAPI GetConsoleWindow(void);


This function has no parameters.

Return value

The return value is a handle to the window used by the console associated with the calling process or NULL if there is no such associated console.


To compile an application that uses this function, define _WIN32_WINNT as 0x0500 or later. For more information, see Using the Windows Headers.


This API is not recommended and does not have a virtual terminal equivalent. This decision intentionally aligns the Windows platform with other operating systems. This state is only relevant to the local user, session, and privilege context. Applications remoting via cross-platform utilities and transports like SSH may not work as expected if using this API.

For an application that is hosted inside a pseudoconsole session, this function returns a window handle for message queue purposes only. The associated window is not displayed locally as the pseudoconsole is serializing all actions to a stream for presentation on another terminal window elsewhere.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header ConsoleApi3.h (via WinCon.h, include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also

Console Functions