这是不可能的。
你可能是概念错误。
任务栏上显示的是应用程序窗体,而不是任何你自己创建的别的窗体。
可以看看《delphi6 从入门到精通》里面有讲。

解决方案 »

  1.   

    用dll方式打开一个窗体时,你会发现任务栏多了这个窗体。
    要可以用Alt+Tab进行切换,就要用到MDI方式。所以可以在MDI方式下使用两个DLL就能达到你要的目的。
      

  2.   

    To :johnsonrao(johnson) 兄,
    我用Dll打开的Mdi方式的窗体,任务栏只会有主窗体我认为只要是用Mdi方式打开的窗体都是属于主窗体的Application的,
    所以应该不会出现多个窗体,这和从dll还是dpl中打开无关吧,不知道你是怎么实现的?我觉得楼主的问题可以捕捉键盘消息,在一个application 中切换自己的子窗体是比较容易的,而且不一定用alt+tab(防止和windows中的alt+tab冲突),用其他的键盘消息也可以。
      

  3.   

    试试设置窗体的parentwindow为“桌面窗口”
      

  4.   

    有一个tapplication对象就有一个任务栏显示!
    动态连接库也有tapplication对象!所以它也会在任务栏上显示!
    所以从主窗体中调用动态连接库应该能实现你的要求!有些人在调用动态连接库的时候在任务栏不想出现两个图标通常都会把主程序的application作为参数传入到DLL中,这样主程序和DLL共用一个TAPPLICATION对象就不会在任务栏上出现两个图标了!
    要想在一个程序中出现两个任务栏图标我也想知道怎么实现!FOXMAIL就可以这样!写新邮件的时候会在任务栏上多一个图标!可我没有找到它的动态连接库在哪里!真的很奇怪的!!
      

  5.   

    哈,这个我做过,保你满意在每个form处写上这么一段,就可以了
    申明处写上
    procedure CreateParams(var Params: TCreateParams); override;
    实现处写上
    procedure TForm1.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.WndParent := GetDesktopWindow;
    end;ok了
      

  6.   

    如果把Form的BorderStyle设为bsNone如何使图标显示在任务条中?