2012-09-05 3 views
0

C#의 WPF 응용 프로그램에서 Word 문서를 자동화하고 있습니다. 응용 프로그램에서 Word가 제대로 종료되었는지 확인

나는

_applicationWD = new Microsoft.Office.Interop.Word.Application(); 

으로 Word 개체를 만들고 난

_applicationWD.Quit(Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges); 

모든 깔끔하게 시도/catch 문에 넣어 그것을 종료합니다. 종료는 잘못 될 수있는 마지막 문제이므로 Quit 문이 성공했는지 확인한 다음 다른 방법으로 종료하려고 시도해야합니다. 그렇지 않으면 프로세스 목록에 많은 WinWord.exe가 있습니다.

Word가 종료되었거나 프로세스의 PID를 가져 와서 코드에서 종료되도록하려면 확인할 수있는 방법이 있습니까?

답변

2

사용자가 대신 응용 프로그램에서 열 단어의 다른 인스턴스가있을 수 있지만,이 모든 WINWORD 프로세스

 try 
     { 
      System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName("WinWord"); 
      foreach (var myproc in procs) 
       myproc.Kill(); 


     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message.ToString()); 
     } 
+0

좋은 제안, 하나의 문제를 죽일해야한다, 나는 그들을 종료 기운 다. 내 응용 프로그램이 어떤 프로세스를 시작하고 종료하는지 알아야합니다. – klashagelqvist

+1

'_applicationWD.Quit (Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges);'그런 다음'System.Runtime.InteropServices.Marshal.FinalReleaseComObject (_applicationWD);를 추가하십시오. – S3ddi9

관련 문제