// 试试如下方法public bool RarCanRun = true;private void timer1_Tick(object sender, System.EventArgs e)
{
    if(RarCanRun)
    {
       RarCanRun = false;
       Thread t = new Thread(new ThreadStart(this.RunRar));
       t.Start();
    }
}public void RunRar()
{
   Thread ct = Thread.CurrentThread;   Process proc = new Process();
   proc.StartInfo.FileName = "rar.exe";
   proc.StartInfo.Arguments = " a -ep1 \"" + bakdest + "\\" + taskname + now.ToString("HHmmss") + ".rar\"" + " \"" + baksource + "\\\"";
   proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
   proc.Start();
   proc.WaitForExit();   // 在此记录日志信息
   RarCanRun = true;
   ct.Abort();
   ct.Join();
}