我要实现这样的功能:
运行一个程序,让它在我的窗口中运行,比如,运行一个 abc.exe (是win下的软件),在这个窗口中要能象在windows里一样正常操作。这怎么实现啊?这个问题好象很难,我一点思路都没有:(

解决方案 »

  1.   

    用findwindow 找到該程序的主窗口handle, 然後, 用Api, SetParent設置 handle 為本程序的子窗口!
      

  2.   

    你是不是说的像是MS-OLE样的
      

  3.   

    OLE不行,只要一运行,那个程序就是正常运行了,不是在我的form里运行了。
      

  4.   

    aiirii: SetParent的用法是什么? 我好象不会用,能说明一下吗?
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      h:HWnd;
    begin
      H:=FindWindow(nil,'䶨±êÌâ - ¼Çʱ¾');
      if H<>0 then
      begin
        ShowMessage('Find');
        Windows.SetParent(h,Handle);
      end;end;
      

  6.   

    H:=FindWindow(nil,'窗口标题');
      

  7.   

    谢谢 hiflower,正确100%.
    我以前不行,是写错了,写成: setparent(XXX,xXXX)了,编译不通过:( 。
    原来是要Windwos.setparent,谢谢谢谢!!