c#美味:NTFS中文件被锁定导致Process.Start失败
上周工作中遇到一个奇怪的问题,解决之后想想还是写出来和大家分享一下。
故障描述:
在A程序中使用Process.Start方法调用一个B.exe的文件时,程序总会自动退出。
系统描述:Windows XP Pro SP3
尝试过的解决办法:
- b.exe文件是存在的
- 手动执行b.exe是没有任何问题的。
- a程序调用一个c.exe也是没有问题的。
到此,我基本确认问题出在b.exe上面。 不过由于单独执行b.exe是没有问题的,所以找了半天,一直没解决这个问题。
突然间,我注意到手动执行b.exe时会弹出一个安全的对话框,需要点击确定 后才能执行,而我执行c.exe时并没有这个现象:
看到这里,想起我前段时间遇到的ppt文件总是需要修复的问题,我马上看了下文件属性:
果然,该文件被锁定了。 解除锁定后,故障得到解决。A程序可以顺利的调用b.exe了。
后来想了想,我更新这个文件的时候是通过一个im传过来的,可能是那个时候文件被锁定了。
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名和链接(http://greenerycn.cnblogs.com).
如果觉得文章有用,愿意的话赞助一杯饮料吧,谢谢。
![]() |
![]() |