掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
タスクバーから隠す (ID:32948)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>その対象となるスクリーンキーボードでうまくいくかどうかは分かりません. 例えば, 【質問】 テレサという方の作成したアプリを起動すると,自分のアプリがタスクバーから 消えてしまいます.どうしたら,表示するようにできるでしょうか. というのがあったとします. これを実現するために,以下のようにサブクラス化で対応することもできます. (別にサブクラス化でなくてもいいのですが.他のいい方法があるかも知れません) つまり,このような対応をしている場合は,先に提示したコードではできない ということです. Zオーダなんかもちょっと似たところがあります. 自分のアプリをどうしても,常に最前面に表示したい. 他のアプリの開発者も,どうしても自分のアプリを常に最前面に表示したい. こういう場合どうなるんでしょうね. unit TaskBarTest02Unit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TTaskBarTest02Form = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); private { Private 宣言 } dwLong : Integer; OriginalProc : TWndMethod; procedure SubClassProc(var Message: TMessage); public { Public 宣言 } end; var TaskBarTest02Form: TTaskBarTest02Form; implementation {$R *.dfm} procedure TTaskBarTest02Form.SubClassProc(var Message: TMessage); begin //WM_ACTIVATE時だけメッセージを処理 if Message.Msg =WM_ACTIVATE then begin SetWindowLong(Application.Handle,GWL_EXSTYLE,dwLong); end; //元のWindowProcを実行 OriginalProc( Message ); end; procedure TTaskBarTest02Form.FormCreate(Sender: TObject); begin dwLong := GetWindowLong(Application.Handle,GWL_EXSTYLE); OriginalProc :=Self.WindowProc; Self.WindowProc := SubclassProc; end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.