我把正在运行的程序装入我的窗体做为子窗体.可是我再把那个程序放入桌面时任务管理器里的应用程序却没有它了,我应该怎么办呢?把应用程序装入我的窗体作为子窗体:
hwn :THandle;procedure TForm1.btn3Click(Sender: TObject);
begin
  hwn := FindWindow(nil,'计算器');
  if hwn <> 0 then
  begin
   windows.SetParent(hwn,Screen.ActiveForm.Handle);
   end;
end;
还把它放到桌面:
procedure TForm1.btn1Click(Sender: TObject);
var
  zuomian:THandle;
begin  zuomian:=FindWindow(nil,'Program Manager');
  windows.SetParent(hwn,zuomian);
end;
我这要把他放在桌面上,任务栏就没有了,这个方法放回去可能是不行的,问题:我应该怎样把他放回去还是和启动时的状态是一样的?
不要说再启动一人啊,这样做要是正在编辑的一个txt就不行了.

解决方案 »

  1.   

    还把它放到桌面: 
    procedure TForm1.btn1Click(Sender: TObject); 
    var
      zuomian:THandle;
    begin
      hwn := FindWindowex(Handle,0,nil,pchar('计算器'));
      zuomian:=FindWindow(nil,'Program Manager');
      windows.SetParent(hwn,zuomian);
    end; 
      

  2.   

    不好意思,刚才没看懂你的任务栏的要求还原时:procedure TForm1.Button2Click(Sender: TObject);
    var
      zuomian:THandle;
    begin
      windows.SetParent(hwn,0);end;