子、ポップアップ、またはトップレベルウィンドウのサイズ、位置、Z オーダーを変更する。これらのウィンドウは画面上の表示順に並んでおり、最前面のウィンドウが最上位ランクを持ち Z オーダーの先頭となる。
SetWindowPos hWnd, hWndInsertAfter, X, Y, cx, cy, uFlags
hWnd : [intptr] 型: HWND ウィンドウへのハンドル。 hWndInsertAfter : [intptr] 型: HWND X : [int] 型: int ウィンドウ左辺の新しい位置(クライアント座標)。 Y : [int] 型: int ウィンドウ上辺の新しい位置(クライアント座標)。 cx : [int] 型: int ウィンドウの新しい幅(ピクセル単位)。 cy : [int] 型: int ウィンドウの新しい高さ(ピクセル単位)。 uFlags : [int] 型: UINT
(プラグイン / モジュール : user32.dll)
子、ポップアップ、またはトップレベルウィンドウのサイズ、位置、Z オーダーを変更する。これらのウィンドウは画面上の表示順に並んでおり、最前面のウィンドウが最上位ランクを持ち Z オーダーの先頭となる。 [戻り値] 型: BOOL 関数が成功した場合、戻り値は 0 以外。失敗した場合は 0。拡張エラー情報を得るには GetLastError を呼び出す。 [備考] Vista 以降のアーキテクチャ変更により、すべてのサービスは対話型デスクトップから Session 0 へ移された。hwnd およびウィンドウマネージャ操作はセッション内でのみ有効で、セッションを越えた hwnd 操作は失敗する。詳細は The Windows Vista Developer Story: Application Compatibility Cookbook を参照。SetWindowLong で特定のウィンドウデータを変更した場合、変更を反映させるには SetWindowPos を呼ぶ必要がある。uFlags には次の組み合わせを使う: SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED。ウィンドウを最前面にするには hWndInsertAfter を HWND_TOPMOST に設定し SWP_NOZORDER フラグを設定しないか、Z オーダー内の位置を既存の最前面ウィンドウより上にする。非最前面ウィンドウを最前面にすると、その所有ウィンドウも最前面になるが、所有者は変更されない。SWP_NOACTIVATE も SWP_NOZORDER も指定されていない場合(つまりウィンドウの有効化と Z オーダーの変更を同時に要求する場合)、hWndInsertAfter の値は次の状況でのみ使用される。 (以下省略)
| プラグイン / モジュール | user32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_user32_gen2.hs |