SetConsoleWindowInfo

コンソール画面バッファのウィンドウの現在のサイズと位置を設定する。

SetConsoleWindowInfo hConsoleOutput, bAbsolute, lpConsoleWindow

hConsoleOutput : [intptr] コンソール画面バッファへのハンドル。ハンドルには **GENERIC\_READ** アクセス権が必要である。詳細は [コンソールバッファのセキュリティとアクセス権](console-buffer-security-and-access-rights.md) を参照。
bAbsolute : [int] このパラメータが **TRUE** の場合、座標はウィンドウの新しい左上隅と右下隅を指定する。**FALSE** の場合、座標は現在のウィンドウ隅座標に対する相対値である。
lpConsoleWindow : [var] ウィンドウの新しい左上隅と右下隅を指定する [**SMALL\_RECT**](small-rect-str.md) 構造体へのポインタ。

(プラグイン / モジュール : kernel32.dll)

解説

コンソール画面バッファのウィンドウの現在のサイズと位置を設定する。

[戻り値]
関数が成功した場合、戻り値は非ゼロである。失敗した場合はゼロである。拡張エラー情報を取得するには
[**GetLastError**](/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror)
を呼び出す。

[備考]
指定したウィンドウ矩形がコンソール画面バッファの境界を超える場合、関数は失敗する。すなわち *lpConsoleWindow* 矩形
(*bAbsolute* が FALSE の場合は算出された) の **Top**/**Left**
メンバはゼロ未満にできず、**Bottom**/**Right** メンバは画面バッファ高さ - 1 および幅 - 1
を超えられない。**Right** (または算出した右座標) が **Left** (または左座標) 以下、**Bottom** が
**Top** 以下の場合も失敗する。複数の画面バッファを持つコンソールでは、1
つの画面バッファのウィンドウ位置を変更しても他のバッファのウィンドウ位置には影響しない。画面バッファのウィンドウの現在のサイズと位置を取得するには
[**GetConsoleScreenBufferInfo**](getconsolescreenbufferinfo.md)
を使用する。この関数は現在の画面バッファサイズ、フォントサイズ、画面サイズに基づいてウィンドウの最大サイズも返す。[**GetLargestConsoleWindowSize**](getlargestconsolewindowsize.md)
は現在のフォントと画面サイズに基づく最大ウィンドウサイズを返すが、コンソール画面バッファのサイズは考慮しない。**SetConsoleWindowInfo**
はサイズを変更せずに矩形位置をずらして画面バッファの内容をスクロールするのにも使える。[!INCLUDE
[no-vt-equiv-user-priv](./includes/no-vt-equiv-user-priv.md)]

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs