指定したウィンドウに対してユーザインターフェース特権分離 (UIPI) メッセージフィルタを変更する。
ChangeWindowMessageFilterEx hwnd, message, action, pChangeFilterStruct
hwnd : [intptr] 型: HWND UIPI メッセージフィルタを変更するウィンドウへのハンドル。 message : [int] 型: UINT メッセージフィルタが通すか、ブロックするメッセージ。 action : [int] 型: DWORD pChangeFilterStruct : [var] 型: PCHANGEFILTERSTRUCT CHANGEFILTERSTRUCT 構造体へのオプションのポインタ。
(プラグイン / モジュール : user32.dll)
指定したウィンドウに対してユーザインターフェース特権分離 (UIPI) メッセージフィルタを変更する。 [戻り値] 型: BOOL 関数が成功した場合は TRUE、それ以外は FALSE。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] UIPI は、より低い整合性レベルの送信元からメッセージを受信させないセキュリティ機能である。この関数を使うと、より低い整合性レベルのプロセスからのメッセージでも特定のメッセージをウィンドウに配信できる。プロセス全体のメッセージフィルタを制御する ChangeWindowMessageFilter とは異なり、ChangeWindowMessageFilterEx はウィンドウのメッセージフィルタを制御する。 アプリケーションは ChangeWindowMessageFilter を使ってプロセス全体でメッセージを許可またはブロックできる。プロセスメッセージフィルタとウィンドウメッセージフィルタのいずれかでメッセージが許可されていれば、ウィンドウに配信される。 SECURITY_MANDATORY_LOW_RID 以下のプロセスはメッセージフィルタを変更できない点に注意。これらのプロセスがこの関数を呼ぶと失敗し、ERROR_ACCESS_DENIED の拡張エラーコードを生成する。 WM_USER より小さい特定のメッセージは、フィルタ設定に関係なくフィルタを通過する必要がある。これらのメッセージを許可またはブロックするためにこの関数を使っても効果はない。
| プラグイン / モジュール | 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 |