// 试试如下方法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();
}
{
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();
}
解决方案 »
- 关于类型参数约束的问题
- 程序已经弄好了,但是有个地方不是很动原理,请讲解一下
- 如何往本地写一个excel文件,而且不需要用户按保存按钮(在线等待)
- 菜鸟求助c#操作excel问题。
- 怎么能生成指定位数的随机数呀
- ”程序集清单定义与程序集引用不匹配“错误是怎么回事啊?
- ***招c#程序员,北京,待遇优厚,绝对真实!!!!
- c#开发数据库应用程序的问题了
- 关于自定义菜单
- 啃了好久的语法,想转到环境下试试,就tmd的处处是错,想看个简单的都不行……
- 我用XmlTextWriter写入xml文件,怎么样写入XML开头的<?xml version="1.0" encoding="utf-8" ?>
- 帮忙啊 高手门 请指教一个数据库问题
转自MSDN:
当 Process 组件与进程资源关联时,Process 的属性值将根据关联进程的状态立即填充。如果有关关联进程的信息后来发生更改,则 Process 组件的缓存值中不反映这些更改。Process 组件是它和进程资源关联时后者的快照。若要查看关联进程的当前值,请调用 Refresh 方法。就是说由于压缩时间很长,因此在监测WINRAR是否完成前需要调用Refresh方法来重新获得该进程的值。