フォアグラウンド権限(フォアグラウンドウィンドウを設定する権限)を、あるプロセスから別のプロセスへ引き渡す。フォアグラウンド権限を持つプロセスがこの関数を呼び出すことで、ローカル COM サーバープロセスにその権限を引き渡すことができる。
CoAllowSetForegroundWindow pUnk, lpvReserved
pUnk : [var] 対象 COM サーバーのプロキシ上の IUnknown インターフェイスへのポインタ。 lpvReserved : [intptr] このパラメータは予約済みであり、NULL を指定しなければならない。
(プラグイン / モジュール : ole32.dll)
フォアグラウンド権限(フォアグラウンドウィンドウを設定する権限)を、あるプロセスから別のプロセスへ引き渡す。フォアグラウンド権限を持つプロセスがこの関数を呼び出すことで、ローカル COM サーバープロセスにその権限を引き渡すことができる。 [戻り値] この関数は以下の値を返すことがある。 (以下省略) [備考] システムは、フォアグラウンドウィンドウを設定するために SetForegroundWindow および AllowSetForegroundWindow 関数を呼び出せるプロセスを制限している。その結果、ユーザーが操作中であっても、アプリケーションが他のアプリケーションからフォーカスを奪うことはブロックされる。CoAllowSetForegroundWindow を使用すると、フォアグラウンド権限を持っているプロセスから、まだ権限を持っていないプロセスへ権限を引き渡すことができる。これは推移的に行うことができ、あるプロセスから別のプロセスへ、さらに別のプロセスへと権限を渡していくことができる。CoAllowSetForegroundWindow により、独自インターフェイスを持つユーザーでも、ウィンドウの切り替えが想定される OLE インターフェイス(主にリンクや埋め込みに関連するもの)と同じ挙動を得ることができる。内部的には、プロセス間でフォアグラウンドウィンドウを譲り渡すために IForegroundTransfer インターフェイスが使用されている。標準の COM 提供プロキシは既に IForegroundTransfer を実装しているため、標準プロキシを使用している限り追加の作業は不要である。CoAllowSetForegroundWindow を呼び出すだけで、任意のアウトオブプロセス COM オブジェクトにフォアグラウンド権限を引き渡すことができる。
| プラグイン / モジュール | ole32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の ole32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_ole32_gen2.hs |