Delphi实现的登录窗口切换到桌面无法显示的问题

今天偶然遇到这样的问题:程序的登录窗口在主窗口之前创建并显示,按Win+D键切回桌面后,点击任务栏的程序标题,居然不能还原显示出来,只能强行结束任务。打开QQ的登录窗口,按Win+D键,这货居然还在,什么情况?

 

于是试了下加入如下代码:

 

procedure CreateParams(var Params: TCreateParams);override;


procedure TLoginForm.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.WndParent := GetDesktopWindow;
end;


 

重载了登录窗口的CreateParams方法,将其父窗口设为桌面,于是,就和QQ一样,登录窗口在按Win+D键的时候照样显示!

你可能感兴趣的:(Delphi实现的登录窗口切换到桌面无法显示的问题)