有没有人知道如何显示使用chilkat时提取档案的进度?我的表单上已经有一个名为“progressBar1”的进度条。目前整个程序在提取开始时冻结。也许有另一个线程? 我使用这个代码:使用chilkat通过进度条提取RAR文件?
Chilkat.Rar rar = new Chilkat.Rar();
bool success;
success = rar.Open("abc123.rar");
if (success != true) {
MessageBox.Show(rar.LastErrorText);
return;
}
success = rar.Unrar("c:/temp/unrarDest/");
if (success != true) {
MessageBox.Show(rar.LastErrorText);
}
else {
MessageBox.Show("Success.");
}
如果任何人有任何其他的方式来解压.rar文件,这将是巨大的了解。
谢谢。
谢谢Tom Cabanski和Chris Tybur。我现在使用BackgroundWorker组件工作,并通过使用“backgroundWorker1.RunWorkerAsync();”来调用它。还没有想出如何使进度条工作。 – 2010-04-24 16:20:17
我对chilkat了解不多,但是如果该库可以以某种方式在从存档中提取UnRar方法时生成状态事件,则可以处理这些事件并调用BackgroundWorker组件的ReportProgress方法。在你的表单中,你将会处理BackgroundWorker的ProgressChanged事件,并且在那个处理程序中你会增加你的进度条。有关更多信息,请参阅http://stackoverflow.com/questions/614111/running-class-as-new-thread。 – 2010-04-24 16:37:11