Proc.Start();//中间如何让该进程运行两分钟? Proc.Kill();

解决方案 »

  1.   

    将Proc.Kill();放入到一个Timer中,或者单启动一个进程。这个进程休眠2分钟后运行Proc.Kill();
    等待一个进程的结束用Proc.Join();
      

  2.   

    进程休眠用:Thread.Sleep(120000);
      

  3.   

    我试过TIMER, 不行啊, 它执行到t.Start()语句就回到主进程里面继续往下执行了, 没有执行KillProc()... 如何让它等待2分钟以后再执行KillProc(), 然后再回到MAIN里面继续执行?      Main()
          {       ...      StartProcess();       ...       }
          StartProcess()
          {
              //Proc definition...           Proc.Start();
               
               private System.Timers.Timer t = new System.Timers.Timer(30000);
               t.Elapsed += new System.Timers.ElapsedEventHandler(KillProc);
                t.Enabled = true;
                t.Start();
            } 
            private void KillProc(object sender, System.Timers.ElapsedEventArgs e)
            {
                foreach (System.Diagnostics.Process process in  System.Diagnostics.Process.GetProcesses())   
                {
                    if (process.ProcessName.ToUpper().Equals("NotePad"))
                    {
                        process.Kill();
                        process.Close();
                        t.Close();
                    }
                }   
            }
      

  4.   

    建议你还是使用一个新的进程来进行停止操作。StartProcess()
          {
              //Proc definition...           Proc.Start();
               Thread ta = new Thread(new ThreadStart(StopProc));
               ta.Start();
           } 
    private void StopProc()
    {
    Thread.Sleep(120000);
    Proc.kill()
    }
      

  5.   

    补充一点,结束进程应当是Proc.Abort()
      

  6.   

    非常感激, 可是刚刚用到:Proc.Start();
    Thread.Sleep(30000);
    Proc.Abort();居然成功了.
      

  7.   

    谢谢chsl918(Story Book)同学!! 给分!!*^_^*