8

次のコードはDelphi7で正常に機能します。ただし、Delphi 2009では、フォームは非表示のままですが、タスクバーのボタンが表示されます。

ShowWindow(Handle, SW_HIDE);
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW );
ShowWindow(Handle, SW_SHOW);

上記のコードは、FormCreateメソッドで呼び出されます。

4

2 に答える 2

10

タスクバーに[アプリケーション]ウィンドウが表示されていた理由は、stukellyの回答に似た単純な設定でしたが、完全ではありませんでした。

メインフォームをタスクバーに表示し、適用するアプリケーションメニューを非表示にするには:

Application.MainFormOnTaskbar := True;
Application.ShowMainForm := False;

フォーム作成の背後にあるコードや必要なものはありません。

于 2009-04-28T08:10:46.010 に答える
5

フォームを作成する前に、 ShowMainFormおよびMainFormOnTaskBarプロパティを False に設定する必要があります。

フォームを作成する前に、プロジェクト ソースを開き、MainFormOnTaskBarShowMainFormを False に設定します。

Application.Initialize;
Application.MainFormOnTaskbar := false;
Application.ShowMainForm := false;
Application.CreateForm(TForm1, Form1);

次に、メイン フォームで、次のコードをFormActivateおよびFormShowイベントに追加します。

procedure TForm1.FormActivate(Sender: TObject);
begin
 // hide taskbar button
 ShowWindow(Application.Handle, SW_HIDE);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
 // hide taskbar button
 ShowWindow(Application.Handle, SW_HIDE);
end;

Dephi 2007 および 2009 でテストしました。追加情報については、こちらを参照してください。

于 2009-03-26T01:26:53.120 に答える