我这儿有一篇文章,也许对你有帮助:
////////////////////////////////////////////////
某些程序退出后会在任务栏中留下一个任务空格,点一下方会消失。
如何处理?
 看下面的空窗体就会有这个问题: object Form1: TForm1
  Left = 138
  Top = 98
  Width = 544
  Height = 375
  BorderIcons = [biSystemMenu, biMinimize]
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  WindowState = wsMaximized
  PixelsPerInch = 96
  TextHeight = 13
end
 
 究其原因,就是因为窗体的 WindowState = wsMaximized,而且 
BorderIcons 中没有 biMaximize 属性。为此可以有下解决办法:procedure TForm1.FormCloseQuery(Sender: TObject; var 
CanClose: Boolean);
begin
  Form1.BorderIcons := Form1.BorderIcons + [biMaximize];
end;放在 OnCloseQuery 事件中是因为它能够在关闭之前执行,它比 
OnClose 事件先执行,效果理论上比之好。
/////////////////////////////////////////////////