你采用的是用默认程序打开文档的方法,如果打开1.txt,一般默认是用 notepad打开文档,notepad是一个单独进程,notepad关闭后程序退出。
如果打开 1.xml, 默认是用 IE 打开, IE 的工作方式比较特殊,是异步方式打开文档,文档打开后,对应的那个程序(可能是一个线程,具体我没有仔细研究)就退出了,所以有了你说的提前退出的问题。
解决这个问题,两种办法,
1、将 xml 文件的默认打开方式改为一个非浏览器的程序,如notepad,word等。
2、不要用默认方式运行文档, 可按照下面方式修改。
static public void PrintDoc(string fileName)
{
myProcess.StartInfo.FileName = @"notepad";
myProcess.StartInfo.Arguments = @"c:\1.xml";
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new EventHandler(myProcess_Exited);
myProcess.Start();
}