C# 另一个进程正在使用它,怎么才能找到正在使用它的这个进程呢 200

 我来答
Ps脸粉粉
推荐于2017-11-23 · TA获得超过1563个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:115万
展开全部
楼主您好:

当C#弹出提示或者报错说有“另外一个进程正在使用该文件”时,这个情况一般可以分为:

1、有可能是你自己当前的C#程序代码中调用这个文件结束后,没有及时关闭这个文件的流操作,导致下次调用时,系统会判断到你这个文件没有被关闭,一直处于打开读取状态,就会报这个错误,最好的解决办法是,文件IO读取结束后,及时关闭文件流。

2、也可能是你这个文件本身就是只读的

3、如果你这个程序已经发布,有可能是并发的原因,你这边在使用这个文件时,其他人在系统中也正好在使用这个文件,也会报如上错误,这里可以做一个并发处理,保证文件只能同时被一个人使用。

4、也可能是你程序读取使用这个文件时,在你的电脑上已经被你双击打开了,也会报错。

可能还有其他原因,我想,如果只是你一个人在使用这个程序,很可能就是错误1,自己研究下你的代码,文件读取使用完要及时关闭流。文件IO操作很容易出这个错的,所以要慎重。

呵呵 希望对你有帮主,纯手打,望采纳,谢谢:)
天下雨了ma
2013-03-22 · TA获得超过110个赞
知道答主
回答量:179
采纳率:0%
帮助的人:67.8万
展开全部
请问楼主是在使用vs的情况中遇到这种问题吗?其他的我没有经历过也不知道具体情况,但是相关软件应该也是想通的吧。一般进程名称和你使用的工具或者程序名称有很大相似的地方时可以看出来的,但是有的进程是那种您已经退出了相关程序,但是进程并没有及时的结束,而且任务管理器里还看不到,不是用户问题,即使显示所有也可能看不到,特别是编程中的项目进程经常没有结束导致无法移动文件等操作,因为我使用的有360,在360进程管理可以看到vs的相关进程有说明并没有实际结束,结束了就行了,希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wdx2011
2013-02-27 · 超过21用户采纳过TA的回答
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:270万
展开全部
首先你思考问题的方法不对。一个文件如果被只读而你还试图修改此文件就会造成这种问题,比如试图用多线程去读写一个txt文件。出现类似情况只能寻找替代方法解决,C#编码无法实现定位是那个线程正在使用该文件,只能实现根据进程名称和进程ID互查,即任务管理器中的exe文件名和pid互查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4eb4912
2013-04-02
知道答主
回答量:9
采纳率:0%
帮助的人:3.9万
展开全部
任务管理器——进程
例如你的文件名为:窗体 那么把进程最下面那个 窗体.exe 和窗体.vshost.exe 结束掉 就没事了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
macro_yao
2013-03-01 · TA获得超过322个赞
知道小有建树答主
回答量:760
采纳率:0%
帮助的人:349万
展开全部
如果都是你自己写的程序, 那就是你自己的程序在使用它, 停止, 重新调试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式