可以使用System.Diagnostics.Process.Start函数来启动。

解决方案 »

  1.   

    比如
    System.Diagnostics.Process.Start("IEXPLORE.exe", "http://www.csdn.net")
      

  2.   

    using System.DiagnosticsProcess p = new Process();
    p.StartInfo.FileName = @"...........exe";
    p.StartInfo.p.StartInfo.Arguments = "......";
    p.p.StartInfo.CreateNoWindow = true;
    p.StartInfo.UseShellExecute = false;

    p.Start();
      

  3.   

    嗯。感谢大家。我是这么写的:
    System.Diagnostics.ProcessStartInfo info= new System.Diagnostics.ProcessStartInfo(@"C:\Program Files\WinRAR\WinRAR.exe",@"a -r D:\test.rar D:\test");
    info.WindowStyle=System.Diagnostics.ProcessWindowStyle.Normal;
    System.Diagnostics.Process.Start(info);
    //接下来要执行的代码,比如要把test.rar上传到服务器上。可以调用winrar来压缩D:\test。但是接下来我想在真正压缩完以后,才执行下面的代码,但是我试了一下,System.Diagnostics.Process.Start(info);执行以后立即执行后面的代码,根本不会等test.rar压缩好,我该怎么办呢?另外,我想在压缩完以后,退出winrar,怎么做呢?请大家帮助一下!
      

  4.   

    process.start("要调用的程序的路径")
      

  5.   

    /* 功    能:通过C#程序调用 Windows 记事本程序 编辑一个
    * 名为 test.txt 的文本文件。
    *
    * 在整个程序中 System.Diagnostics.Process.Start(Info) 
    * 为主要语句。
    * 如果只是单独执行一个外部程序,可用一条如下代码即可:
    * System.Diagnostics.Process.Start(
    * "外部程序名","启动参数");
    */
    using System;
    using System.Diagnostics;
    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);
    }
    }
      

  6.   

    你用线程啊。1.运行程序,启动exe,
    2.启动另一个支线程,sleep当前主线程。
    3.完成工作。
    4.支线程结束,唤醒主线程。
    5.continue.
      

  7.   

    如果exe出错怎么办啊?难道要重起机器?能将出错显示在界面上,然后强行kill掉这个exe吗?请教中……。
      

  8.   

    直接使用System.Diagnostics.Process.Start(path+"filename")
      

  9.   

    用线程?代码怎么写呢,能给个例子吗
    比如就拿下面这段代码来说:
    System.Diagnostics.ProcessStartInfo info= new System.Diagnostics.ProcessStartInfo(@"C:\Program Files\WinRAR\WinRAR.exe",@"a -r D:\test.rar D:\test");
    info.WindowStyle=System.Diagnostics.ProcessWindowStyle.Normal;
    System.Diagnostics.Process.Start(info);如何改写为线程的呢
      

  10.   

    caiyajun512(小秀)?能详细说明一下吗
      

  11.   

    启动新进程,不能等待它完成,但你能管理它。
    浩方的平台可以启动war3,但war3关闭,平台不管理。
    平台踢人,你的war3就看不到在线的游戏了。
    用c#不如用c++,用API写。