我现在想用C#编写一个界面,在这个界面中要实现的功能是能够调用显示其他软件(比如说matlab或者说其他一些应用软件),将它的整个界面或者一些我需要的窗口显示在我编写的界面中并得到控制,这个需要怎么来实现,或者说需要matlab(或其他应用软件)的哪些函数啊,接口什么的?

解决方案 »

  1.   

    用api吧,process可以执行程序,shellexcute等好多都可以,然后findwindow找到句柄,然后setparent设置父窗体,自己试试吧
      

  2.   


    //C#程序调用外部程序 
    using  System;class  test
    {
    static  void  Main()
    {//声明一个程序信息类
    System.Diagnostics.ProcessStartInfo  Info  =  new  System.Diagnostics.ProcessStartInfo();//设置外部程序名
    Info.FileName  =  "notepad.exe";//设置外部程序的启动参数(命令行参数)为test.txt
    Info.Arguments  =  "test.txt";//设置外部程序工作目录为  C:\
    Info.WorkingDirectory  =  "C:\\";//声明一个程序类
    System.Diagnostics.Process  Proc  ;try
    {
    //
    //启动外部程序
    //
    Proc  =  System.Diagnostics.Process.Start(Info);
    }
    catch(System.ComponentModel.Win32Exception  e)
    {
    Console.WriteLine("系统找不到指定的程序文件。\r{0}",  e);
    return;
    }//打印出外部程序的开始执行时间
    Console.WriteLine("外部程序的开始执行时间:{0}",  Proc.StartTime);//等待3秒钟
    Proc.WaitForExit(3000);//如果这个外部程序没有结束运行则对其强行终止
    if(Proc.HasExited  ==  false)
    {
    Console.WriteLine("由主程序强行终止外部程序的运行!");
    Proc.Kill();
    }
    else
    {
    Console.WriteLine("由外部程序正常退出!");
    }
    Console.WriteLine("外部程序的结束运行时间:{0}",  Proc.ExitTime);
    Console.WriteLine("外部程序在结束运行时的返回值:{0}",  Proc.ExitCode);
    }
      

  3.   


    System.Diagnostics.Process.Start("E:/xxx.exe");
      

  4.   

    这个只有调用API,获得窗口句柄进行操作,还是比较麻烦的.
      

  5.   

    哎,没搞过软件的人伤不起啊,初学C#,要编这么一个程序。哪位有时间可以加一下qq:420032208指导一下》表示深刻的感谢。