软件主界面启动时首先要顺序调用外部的可执行文件如exe,控制台等程序等
暂时命名为1.exe,2.exe,3.exe...
然后把启动的信息现在在启动主程序的控制台上,比如1.exe是加载数据库,2.exe是加载配置文件等等
现在的问题是:
1.如何调用这些外部的程序?
2.调用这些外部程序后如何知道这些外部程序是否正确加载运行,并返回给启动主程序的控制台
显示调用的外部程序运行信息呢?
3.启动程序如何和调用的程序进行交互呢?

解决方案 »

  1.   

    Process
    ProcessInfo
    I/O Redirect
      

  2.   


    public static string GetLocalCardAddress()
    {
    string mac = ""; System.Diagnostics.Process process = new System.Diagnostics.Process();
    process.StartInfo.FileName = "ipconfig";
    process.StartInfo.Arguments = "/all";
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.CreateNoWindow = true;
    process.StartInfo.RedirectStandardOutput = true; process.Start();
                            process.WaitForExit();
    string output = process.StandardOutput.ReadToEnd();
    int length = output.IndexOf("Physical Address. . . . . . . . . : "); if(length>0)
    {
    mac = output.Substring(length+36, 17);
    } return mac;
    }上面是获取MAC地址的一条函数,包括你要的东西
      

  3.   


    正解另外每个Main方法都有参数列,并且也能返回状态码,都能作为你的工具。上班中……不能上代码,见谅。咩哈哈
      

  4.   

    windows从2000开始引入了进程慨念,每个程序运行产生一个进程,每个进程之间不允许随便共享或修改数据,除非实现共同的通信规则或直接内存修改,这样做是为了程序的稳定,所以你要实现各个部分的功能不应该使用不同的程序去实现,而是使用DLL文件去实现,如果你一定要用各个EXE去实现,那这几个EXE之间你自己要去定义和实现共同的同享媒价,也就是通过一个中间媒体去共享数据,例如读写文件,TCP通信,数据库或者用windows提供的消息队列等等也可以