从Windows任务栏中删除firemonkey

时间:2012-01-02 13:39:28

标签: delphi delphi-xe2 firemonkey

有没有办法,从Windows XP / vista / 7任务栏中删除我的firemonkey应用程序表?我谷歌时没有信息。

问题:

如何从Windows任务栏隐藏位于dll中的表单。

1 个答案:

答案 0 :(得分:2)

注意:Talibek在问题中回答了他自己的问题,为清楚起见,我已将其移至此处。

您需要获取主表单句柄(Form1.Handle),因为firemonkey中没有Application.handle,然后将其FmxHandleToHWNDFMX.Platform.Win)转换为普通窗口句柄。在主机应用程序中,您需要检索该句柄(可以使用它导出函数)并执行以下操作:

  h := GetHandle();

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

检索句柄:

class function TForm1.returnHandle(): integer;
begin
  result := FmxHandleToHWND(Form1.Handle);
end;

当然,Application.MainFormOnTaskBar属性需要设置为true,以便表单可以处理应用程序。

希望它对某人有帮助。