process.start打开文件后被占用 我是在做outlook插件,outlook处于打开状态,在插件中执行Process.Start(@"D:\\Mail.msg");打开一个邮件窗口,关闭后,再次执行此命令就失败。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Process.Start(@"D:\\Mail.msg");Process是进程这其实是启动一个进程打开文件而这个文件并不是exe可执行文件,并且它的扩展名已经和outlook进行了关联,所以相当于使用outlook进程打开文件至于outlook窗口关闭后为什么依然占用文件,你需要先确定到底是用同一个进程(你打开的那个窗口)打开的文件,还是新进程打开的如果是excel,那么每个文件其实都是独立的excel进程,outlook不清楚什么机制 你用代码打开了outlook,但是你手动关闭了outlook,但是代码中如果你不加检测进程的语句(每隔多久检测一次),那么程序会认为outlook是一直打开的。需要你手动终止进程,就不会占用了 谢谢回复,我刚确认了,是同一个进程,没有多开新进程,奇怪的是,等的时间长一点,占用会自动解除,然后又可以重新打开了,等待时间不确定,10秒,30秒都有可能,怀疑是outlook自动释放资源比较慢,我想想有什么方法可以调用语句来清理内存。 我是开发outlook加载项,outlook是一直打开的,不能关闭。只是在加载项页面调用了Process.Start,现在怀疑是outlook清理内存有延迟。 你可以先试试用outlook打开文件,再关闭窗口,再调用你的代码,看到底是哪里的问题 已经解决,只在代码中加了行内存强制回收代码就好了,GC.Collect()有时候还挺有用的。 关于用泛型比较器对数据集进行排序的请教,小弟先感谢前辈了! Pie Chart 如何同时显示数字与百分比? excel 中的表达式怎么在range上使用啊 C#简易计算器 难度GDI+ 关于即时通信的问题请教 C#2005经典 用C#生成的一个类库,可以动态加载吗? 对软件设置的保存形式一般都是什么? 在word中插表格并居中 C# Winform 多线程问题请教 使用log4net想将其配置信息写在一个独立的配置文件内
Process是进程
这其实是启动一个进程打开文件
而这个文件并不是exe可执行文件,并且它的扩展名已经和outlook进行了关联,所以相当于使用outlook进程打开文件至于outlook窗口关闭后为什么依然占用文件,你需要先确定到底是用同一个进程(你打开的那个窗口)打开的文件,还是新进程打开的
如果是excel,那么每个文件其实都是独立的excel进程,outlook不清楚什么机制
谢谢回复,我刚确认了,是同一个进程,没有多开新进程,奇怪的是,等的时间长一点,占用会自动解除,然后又可以重新打开了,等待时间不确定,10秒,30秒都有可能,怀疑是outlook自动释放资源比较慢,我想想有什么方法可以调用语句来清理内存。