根据此question,可以通过将窗口样式更改为WS_EX_TOOLWINDOW来隐藏fmx任务栏图标。 在XE2以及XE3此代码的工作:如何从任务栏(XE4)隐藏firemonkey应用程序按钮?
uses FMX.Platform.Win, Winapi.Windows;
procedure TForm1.Button1Click(Sender: TObject);
var h:THandle;
begin
h := FmxHandleToHWND(Handle);
ShowWindow(h, SW_HIDE);
SetWindowLong(h, GWL_EXSTYLE, GetWindowLong(h, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
ShowWindow(h, SW_SHOW);
end;
在XE4此解决方案无效(应用程序按钮应该被隐藏,但没有任何反应)。任何机构有任何想法?
谢谢。
这个工作适合我在XE3上(没有MainformOnTaskbar):使用FMX.Platform.Win; procedure TForm2.Button1Click(Sender:TObject); var h:THandle; 开始 h:= FmxHandleToHWND(Handle); ShowWindow(h,SW_HIDE); SetWindowLong(h,GWL_EXSTYLE,GetWindowLong(h,GWL_EXSTYLE)或 WS_EX_TOOLWINDOW); ShowWindow(h,SW_SHOW); 结束; – bummi
MainformOnTaskbar决定主窗体是否为无主窗体。 FMX中的主要形式可能始终是无主的,可能没有意义。所以使用工具窗口样式就足够了。 –
建议的代码在XE4上不起作用。 –