当前位置: 代码迷 >> C# >> process.start打开文件后被占用解决思路
  详细解决方案

process.start打开文件后被占用解决思路

热度:82   发布时间:2016-05-05 04:43:58.0
process.start打开文件后被占用
Process.Start(@"D:\\Mail.msg");
自动调用outlook打开文件,关闭显示后,outlook没有清空资源,仍然占用Mail.msg文件,再次执行此语句显示无法打开,文件被占用。
求解决方法....在线等
------解决思路----------------------
先看看outlook是否存在死进程
------解决思路----------------------
Process.Start(@"D:\\Mail.msg");
Process是进程
这其实是启动一个进程打开文件
而这个文件并不是exe可执行文件,并且它的扩展名已经和outlook进行了关联,所以相当于使用outlook进程打开文件

至于outlook窗口关闭后为什么依然占用文件,你需要先确定到底是用同一个进程(你打开的那个窗口)打开的文件,还是新进程打开的
如果是excel,那么每个文件其实都是独立的excel进程,outlook不清楚什么机制
------解决思路----------------------
你用代码打开了outlook,但是你手动关闭了outlook,但是代码中如果你不加检测进程的语句(每隔多久检测一次),那么程序会认为outlook是一直打开的。需要你手动终止进程,就不会占用了
------解决思路----------------------
你可以先试试用outlook打开文件,再关闭窗口,再调用你的代码,看到底是哪里的问题
  相关解决方案