C# 进程结束的问题

C# 进程结束的问题,c#,C#,我对过程的结束有问题 我需要压缩文件-压缩后-我需要用这个压缩文件做一些事情 问题是,虽然messagebox出现了,但我注意到这个过程并没有结束 我怎样才能确定这个过程已经结束 我的zip示例: try { if (File.Exists(@"c:\DaZIP\Bind.sdf")) File.Delete(@"c:\DaZIP\Bind.sdf"); File.Copy(Application.StartupPath + @"\Bind.sdf", @"

我对过程的结束有问题

我需要压缩文件-压缩后-我需要用这个压缩文件做一些事情

问题是,虽然messagebox出现了,但我注意到这个过程并没有结束

我怎样才能确定这个过程已经结束

我的zip示例:

try
{
     if (File.Exists(@"c:\DaZIP\Bind.sdf"))
         File.Delete(@"c:\DaZIP\Bind.sdf");
     File.Copy(Application.StartupPath + @"\Bind.sdf", @"c:\DaZIP\Bind.sdf");

     byte[] sampleBuffer = null;
     ZipEntry sampleZipFile = null;
     FileStream sampleFileStream = null;

     ZipOutputStream sampleOutputStream = new 
         ZipOutputStream(File.Create(Application.StartupPath + @"\Bind.zip"));
     sampleOutputStream.Password = "12345";
     sampleOutputStream.SetLevel(9);

     foreach (string sampleFile in Directory.GetFiles(@"c:\DaZIP")) 
     {
         sampleZipFile = new ZipEntry(Path.GetFileName(sampleFile));
         sampleOutputStream.PutNextEntry(sampleZipFile);

         sampleFileStream = File.OpenRead(sampleFile);
         sampleBuffer = new byte[sampleFileStream.Length];
         sampleFileStream.Read(sampleBuffer, 0, sampleBuffer.Length);
         sampleOutputStream.Write(sampleBuffer, 0, sampleBuffer.Length);
     }

     sampleOutputStream.Finish();
     sampleOutputStream.Close();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message ,"",0, MessageBoxIcon.Exclamation);
    return;
}

MessageBox.Show("End ZIP");
我在VS2008c#WinForm上工作

我知道这个过程仍然有效,因为当我试图用拉链做一些事情时

文件,我得到文件正在使用的错误信息。如果我等1-2分钟,我就能做我想做的事


需要此zip文件。

此应用程序是Windows应用程序还是控制台应用程序?在第一种情况下,使用
Application.Exit()
。在第二篇文章中,完整代码的问题有点不清楚,但如果您所说的进程是指System.Threading.Process,则可以使用Process.Exited事件。进程结束时,它将被引发。

如果没有其他前台线程处于活动状态,则进程应在关闭消息框后立即结束。为什么你认为它还没有结束?