title: Exited event of Process is not rised?
body: <p>In my appliation,I am opening an excel sheet to show one of my Excel documents to the user.But before showing the excel I am saving it to a folder in my local machine which in fact will be used for showwing.</p>
  
  <p>While the user closes the application I wish to close the opened excel files and delete all the excel files which are present in my local folder.For this, in the logout event I have written code to close all the opened files like shown below,</p>
  
  <pre><code>Process[] processes = Process.GetProcessesByName(fileType);
  
                  foreach (Process p in processes)
                  {
  
                      IntPtr pFoundWindow = p.MainWindowHandle;
                      if (p.MainWindowTitle.Contains(documentName))
                      {
                          p.CloseMainWindow();
                          p.Exited += new EventHandler(p_Exited);                            
                      }                       
                  }
  </code></pre>
  
  <p>And in the process exited event I wish to delete the excel file whose process is been exited like shown below</p>
  
  <pre><code>void p_Exited(object sender, EventArgs e)
      {
          string file = strOriginalPath;
          if (File.Exists(file))
          {
              //Pdf issue fix
              FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
              fs.Flush();
              fs.Close();
              fs.Dispose();
              File.Delete(file);
          }
      }
  </code></pre>
  
  <p>But the problem is this exited event is not called at all.On the other hand if I delete the file after closing the MainWindow of the process I am getting an exception "File already used by another process".</p>
  
  <p>Could any help me on how to achieve my objective or give me an reason why the process exited event is not being called?</p>