强制应用程序在OnCreate过程中显示TaskBar图标

Mar*_*iak 4 delphi

我使用delphi XE2.在我的主窗体OnCreate过程中,我运行了一些重要的元素,如登录过程等.我的问题是,当我显示登录表单(由OnCreate程序调用)时,我的应用程序在TaskBar上不可见 - 当主表单变得可见时它变得可见.问题是,当用户用另一个应用程序覆盖我的登录表单时,在taskBar上没有图标,他可能不知道我的应用程序已经运行并尝试再次启动它.他必须使用ctrl + tab来获取我的应用程序登录表单.

现在问题...当OnCreate过程没有完成时,如何强制应用程序/操作系统在任务栏上显示应用程序图标?

问马里奥

Ser*_*yuz 10

您可以覆盖登录表单CreateParams以包含WS_EX_APPWINDOWex-style.

type
  TLoginForm = class(TForm)
    ..

  protected
    procedure CreateParams(var Params: TCreateParams); override;
    ...

  end;

procedure TLoginForm.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
end;
Run Code Online (Sandbox Code Playgroud)

  • 您的解决方案是完美的。谢谢! (2认同)