Habe mir vor ein paar Jahren dafür zwei kleine Prozeduren gebastelt:
Delphi-Quellcode:
procedure ShowFormOnTaskbar(Form : TForm);
var
WindowStyle : LONG_PTR;
begin
WindowStyle := GetWindowLongPtr(Form.Handle, GWL_EXSTYLE);
if (WindowStyle and WS_EX_APPWINDOW) <> WS_EX_APPWINDOW then
begin
SetWindowLongPtr(Form.Handle, GWL_EXSTYLE, WindowStyle or WS_EX_APPWINDOW);
end;
end;
procedure HideFormFromTaskbar(Form : TForm);
var
WindowStyle : LONG_PTR;
begin
WindowStyle := GetWindowLongPtr(Form.Handle, GWL_EXSTYLE);
if (WindowStyle and WS_EX_APPWINDOW) = WS_EX_APPWINDOW then
begin
SetWindowLongPtr(Form.Handle, GWL_EXSTYLE, WindowStyle xor WS_EX_APPWINDOW);
end;
end;
Zur Sicherheit kann man vielleicht noch prüfen, ob die Form assigned ist, bevor man damit hantiert.
Aber eine kleine Warnung noch:
Wenn die Anwendung dann im aktuellen Fenster ungünstig abschmiert, kommt man evtl. nicht mehr ins vorherige Fenster zurück, da es ja nicht mehr sichtbar ist.