Vcl.Forms.TApplication.HookMainWindow
Delphi
procedure HookMainWindow(Hook: TWindowHook);
C++
void __fastcall HookMainWindow(TWindowHook Hook);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Vcl.Forms.pas Vcl.Forms.hpp |
Vcl.Forms | TApplication |
説明
ネイティブの Windows ダイアログボックスが,アプリケーションのメインウィンドウに送られたメッセージを受け取れるようにします。
HookMainWindow メソッドは,ネイティブの Windows ダイアログボックスを単独のウィンドウとしてではなく,そのアプリケーションの子ウィンドウとして動作させます。たとえば,HookMainWindow の呼び出し後であれば,アプリケーションを〔Alt〕+〔Tab〕で切り替えるときに,ネイティブの Windows ダイアログボックスは個別のタスクとして扱われず,アプリケーションはそのダイアログを含む単独のタスクとして扱われます。
Handle プロパティで識別するウィンドウは,関連のダイアログメッセージを受信すると,Hook パラメータとして渡されるダイアログプロシージャにこれらのメッセージを渡します。
長期間ダイアログボックスをメインウィンドウにフックしておいても問題はありません。それでもアプリケーションの終了時にはダイアログボックスを閉じ,UnhookMainWindow メソッドを呼び出してフックを解放してください。