再主程序里 启动一个控制台应用程序,并等待其执行完成,我这样写的主程序里:
System.Diagnostics.Process proc = System.Diagnostics.Process.Start(
                    Tx.CommandLibrary.CommandClass.AppStartPath+"\\Tx.DownLoader.exe",url + " " + localfilename);if(null != proc)
{
    proc.WaitForExit();
    
}Tx.DownLoader.exe里static void Main(string[] args)
        {
            Console.WriteLine("开始工作!!!");
        }以上测试代码可以正常启动Tx.DownLoader.exe但是我看到Tx.DownLoader.exe什么也没有,也没有执行完退出
请问我该如何做?

解决方案 »

  1.   


    我没有看到 Console.WriteLine("开始工作!!!");这句话没打印,
    给我的感觉 
    static void Main(string[] args)
            {
                Console.WriteLine("开始工作!!!");
            }
    没运行,
    应为如果我 单独启动 Tx.DownLoader.exe 屏幕一闪下就退出了
    可是在我process.start 后 觉得它没运行
      

  2.   

    你在主函数里面加一句:Console.ReadKey();
    再试试,真的没有启动么?
      

  3.   

    我感觉是运行了的,你试试在控制台程序最后加一个Console.ReadLine强制他在结尾停止试试。
      

  4.   

      try
                            {
                                Process checkPro = new Process();
                                checkPro.StartInfo.FileName = “”;                            checkPro.Start();
                                checkPro.WaitForExit(); 
                            }
                            catch (Exception e)
                            {
                                Debug.WriteLinecreate check process error! And error message is " +
                                    e.Message);
                            }这样写试试,然后看看是否出现exception
      

  5.   

    Console.WriteLine("开始工作!!!");
    Console.readline();
    试试看看
      

  6.   

    感谢大家的回复,现在是 成功执行了, 打印了 "开始工作"!
    但是我没明白为什么在 
    Console.WriteLine("开始工作!!!");后要 Console.readline();呢?
      

  7.   

    readline是读取一行的意思
    如果不加的话,那么程序即将一闪而过!加了他的话你就可以看见程序运行的结果!