Win32コンソール
プログラムはWin32コンソールに高水準関数 (ReadConsole, WriteConsole) または低水準関数 (ReadConsoleInput, WriteConsoleOutput) のどちらからでもアクセスできる。これら高水準関数はGDIより限定的で、例えばプログラムからカラーパレットを変更することはできず、またこれらの関数を使ってコンソールで使用されるフォントを変更することもできない。
Win32コンソールプログラムは、しばしばMS-DOSアプリケーションと混同される。しかし、「Win32」という名前の通り、Windows NTネイティブなシステムの一部あるいは一形態であり、全く異なったものである。
なお、32ビット版WindowsはNT仮想DOSマシン (NTVDM) を通してWin32コンソールでMS-DOSプログラムを実行することができる。
またWin32という名の通り、基本的にはNT系以降のWindowsのものであり、9x系では部分的に取り入れられていたが、Windows 3.1以前のものは別のシステムである。
MS-DOSアプリケーションのWindowsへの移植を容易にするため、Visual C++の初期バージョンではウィンドウに基本的なコンソール機能を実装したQuickWinライブラリが提供された。Borland C++では同等の機能がEasyWinとして付属した。
Windows NT系オペレーティングシステムではクライアント/サーバー ランタイム サブシステム (csrss.exe) がWin32コンソールの役割を担っていたが、Windows Vistaからは脆弱性対策で主要な機能はconhost.exeに移された。
WIndows NT系およびWindows CEでは、スクリーンバッファは画面文字単位あたり4バイトで、文字コードに2バイト、属性に2バイトで構成されている。文字は16ビットUnicode (UTF-16) にエンコードされる。後方互換性のため、コンソールAPIにはUnicodeバージョンとANSIマルチバイト文字セット (MBCS) バージョンの2種類が用意されている。