Die einzige Möglichkeit wäre, unter Verwendung von
ITaskbarList eine Funktion zu basteln und diese anstelle des bei dir eingesetzten ShowWindow() zu verwenden.
Delphi-Quellcode:
uses
ComObj;
const
CLSID_TaskbarList: TGUID = '{56FDF344-FD6D-11d0-958A-006097C9A090}';
type
ITaskbarList = interface
['{56FDF342-FD6D-11d0-958A-006097C9A090}']
function HrInit: HResult; stdcall;
function AddTab(hwnd: Cardinal): HResult; stdcall;
function DeleteTab(hwnd: Cardinal): HResult; stdcall;
function ActivateTab(hwnd: Cardinal): HResult; stdcall;
function SetActiveAlt(hwnd: Cardinal): HResult; stdcall;
end;
function DeleteTabEntry(Wnd: hWnd) : boolean;
const
IID_ITaskBarList: TGUID ='{56FDF342-FD6D-11D0-958A-006097C9A090}';
var
FTaskbarList: ITaskBarList;
begin
result := (Wnd <> 0);
if result then
try
FTaskbarList := CreateComObject(CLSID_TaskbarList) as ITaskbarList;
FTaskbarList.HrInit;
result := (FTaskbarList.DeleteTab(Wnd) = S_OK);
except
On EOleSysError do
result := false
else
raise;
end;
end;