Delphiは、すべてのウィンドウタイトルを取得し、アイコンがタスクバーに表示されます

デルファイ:タスクバーに表示されているすべてのウィンドウのタイトルとアイコンましょう
メインウィンドウのほかに、Delphiでたときに他のウィンドウディスプレイや時に集中することに切り替えます。デフォルトでは、ウィンドウのタイトルとアイコンは、ウィンドウ表示やフォーカス時はいつでもメインウィンドウと同じを達成、現在のタスクバーにアイコンとタイトル表示を入れて、で利用可能なハイライトするためには、タスクバーに表示されませんウィンドウを対応するユニットファイルを達成するために、次のコードを追加するために、ありがとうございました!
ユニットUnit2のは、
インタフェースが
使用
Windowsの、メッセージ、sysutilsの、変異体、クラス、グラフィックス、コントロール、フォーム、
ダイアログ、
入力
TForm2 =クラス(TFormは)
プライベート
{プライベート宣言を}
公共
{公開宣言}
保護
手順CreateParamsを(VAR PARAMS:TCreateParams)。オーバーライド; //は、このメソッドオーバーライド
端部を、
VAR
フォーム2:TForm2、
実装
{$ R&LT *} DFM。
手順Tform2.CreateParams(PARAMSのVAR:TCreateParams);
始める
CreateParamsを(PARAMS)継承。
Params.WndParent:= GetDesktopWindow;
END;
エンド
プログラム解析
 
プログラムがシステムにWM_CREATEメッセージの新しいフォームを作成するために発行したフォームを作成する必要がある場合、システムが指示するプログラムは、CreateWnd方法、フォームを作成するために、CreateWndメソッドを呼び出しますフォームを作成する前に、これらのパラメータを取得した後、フォームを作成するための作業を完了するためにウィンドウハンドルを作成するために、CreateWindowHandleメソッドを呼び出して、フォームの初期化パラメータを取得するためにCreateParamsをプロシージャを呼び出します。私たちは、フォームがタスクバーのプログラムアイコンを表示させるのであれば、フォーム、重いCreateParamsをプロセスの初期化パラメータを変更する必要があります。
プログラムウィンドウの初期化パラメータはTCreateParamsオブジェクト型にパッケージされ、のように定義されたタイプは、次の
タイプ
TCreateParamsレコード=
{ウィンドウタイトルテキスト}
キャプション:PChar型;
{形、例えばWS_CHILDのタイプ、のようWS_DISABLED}
スタイル:DWORD;
{拡張フォームタイプ}
ExStyle:DWORD;
{ウィンドウの左上隅}
X-、Y:整数;
{フォームの幅、高さ}
幅、高さ:整数;
{フォームの親形態ハンドル}
WndParent:HWND;
{LPARAM WM_CREATEメッセージパラメータポイント}
のParam:ポインタ
{クラスは、マウス等のカーソル、メニュー、としてフォームに関連するいくつかの情報が含まれている}
; TWndClass:WindowClass
{フォームのクラス名を}
WinClassName;配列[0 63]チャーの
END;
CreateParamsを処理するときフォームにフォームが作成されたとき、それが作成された初期化パラメータのレコードを実行します。あなたは、アイコンのフォームを表示したいのであれば、我々は、フォームのレベルを上げる必要があり、その親ウィンドウは、Windowsデスクトップを扱う設定しようとしている、デスクトップはその限り、我々は機能をオーバーロードしているように、API関数GetDesktopWindowを介して取得することができます文の本体を追加「Params.WndParent
:= GetDesktopWindow;」、上記の例で示されているとおりに、アイコンの形を達成することができます。

おすすめ

転載: www.cnblogs.com/blogpro/p/11446111.html