根据不同的文件启动相应的处理程序,比如doc文件启动word,xls文件启动excel
貌似很简单的问题,用Process.Start(filename)启动进程,并根据返回的Process执行WaitForExit()就可以了
问题是Process.Start返回的Process是有可能为null的,比如已经有一个word进程在运行的情况下Process.Start并不会创建新的进程,而是利用现有的word进程来处理,然后Process.Start就返回null
现在在返回null的情况下,如何知道目前处理该文件的是哪个进程?并等待该进程处理完毕?
目前想到的一个办法定时打开该文件,如果打开失败说明被其他进程占用,然后就等待,但这种方式也有问题,就是某些程序打开文件后并不会锁定文件,比如txt文件用notepad打开,打开之后这个txt文件仍然可以编辑甚至删除,这样就无法通过文件来判断这个txt文件是否已经编辑结束。