c#  何如在窗体内部 运行另外一个程序呢?

解决方案 »

  1.   

    你是指要把另一个程序的主界面嵌入自己的窗体?
    首先要启动那个程序,获得其主窗体的句柄(WindowsAPI)。。
      

  2.   

    如果似乎CONSOLE的画 直接重定向输出就OK了WINFORM 的话,,你要HOOK 消息和函数 把一开始执行程序时候的注册窗体的句柄 修改成你的容器的句柄但是估计然后后面还有一系列工作要做,没试验过我也是想过理论实现方法。
      

  3.   

                Process p = new Process();
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.CreateNoWindow = true;
                p.StartInfo.FileName = ???
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.WorkingDirectory = ???;
                p.Start();
                string output = p.StandardOutput.ReadToEnd();
                p.WaitForExit();类似的例子是调用一个控制台程序的
      

  4.   

    理解错意思了呢····就是类似一个MDI的吧?
    相当于你的外部程序作为一个子窗体吧?
      

  5.   

    应该通过SetWindowPos,GetWindow,FindWindow等 
    DllImport("user32.dll", CharSet = CharSet.Auto)] 
      public extern static IntPtr SetParent(IntPtr hChild, IntPtr hParent);