.NET 中 System.Diagnostics.Process 类应用中碰到的问题

时间:2022-08-29 14:58:44
自己开发的客户端程序需要从数据库的Image字段创建一个Word文档,然后调用Word程序打开,用户编辑并保存后再回存到数据库里。其中调用Word打开文档用的是System.Diagnostics.Process类,相关代码如下:
.NET 中 System.Diagnostics.Process 类应用中碰到的问题string  tempPath  =  System.Environment.GetEnvironmentVariable( " TEMP " );
.NET 中 System.Diagnostics.Process 类应用中碰到的问题
string  fileName  =  Path.Combine ( tempPath,  " 01.doc " );
.NET 中 System.Diagnostics.Process 类应用中碰到的问题
.NET 中 System.Diagnostics.Process 类应用中碰到的问题Process wordProcess 
=   new  Process();
.NET 中 System.Diagnostics.Process 类应用中碰到的问题wordProcess.StartInfo.FileName 
=  fileName;
.NET 中 System.Diagnostics.Process 类应用中碰到的问题wordProcess.StartInfo.Verb 
=   " edit " ;
.NET 中 System.Diagnostics.Process 类应用中碰到的问题wordProcess.StartInfo.UseShellExecute 
=   true ;
.NET 中 System.Diagnostics.Process 类应用中碰到的问题wordProcess.Start();
.NET 中 System.Diagnostics.Process 类应用中碰到的问题wordProcess.WaitForExit();
.NET 中 System.Diagnostics.Process 类应用中碰到的问题wordProcess.Close();
.NET 中 System.Diagnostics.Process 类应用中碰到的问题
.NET 中 System.Diagnostics.Process 类应用中碰到的问题MessageBox.Show ( 
" Word Exited! "  );

前几天一直好用,但是今天在执行到 wordProcess.WaitForExit();这一句时发生意外,信息是“没有与此对象关联的进程”。仔细查看MSDN里的相关文档,也没有太详细的解释,只是在WaitForExit()方法的文档提到可能出现的意外中就包含了这个。突然想到有没有可能是因为Word进程已经打开,所以并不是和当前进程所关联的,所以会出现这个意外。关掉运行的其他Word进程以后,再执行果然就没有问题了。