C# 如何访问Windows中其他进程正在使用的文件?

C# 如何访问Windows中其他进程正在使用的文件?,c#,windows-7,C#,Windows 7,我看到这个问题在stackoverflow和其他地方都被问过很多次。提问者用不同的方法解决了他们的问题。这些解决方案中的大多数都是围绕着如何设计应用程序和文件的锁定级别而设计的 我知道Windows以不同的方式提供读/写保护。但是,如果文件在我的磁盘上,并且作为管理员,我不能强制读取锁定文件的内容吗?任何关于我如何做到这一点的建议都会非常有帮助 其他进程通过C#.NET API完全无法访问该文件。看起来它已重新锁定 谢谢。如果应用程序锁定了文件,您必须关闭所有缓冲区/流或之前打开的任何文件 如果

我看到这个问题在stackoverflow和其他地方都被问过很多次。提问者用不同的方法解决了他们的问题。这些解决方案中的大多数都是围绕着如何设计应用程序和文件的锁定级别而设计的

我知道Windows以不同的方式提供读/写保护。但是,如果文件在我的磁盘上,并且作为管理员,我不能强制读取锁定文件的内容吗?任何关于我如何做到这一点的建议都会非常有帮助

其他进程通过C#.NET API完全无法访问该文件。看起来它已重新锁定


谢谢。

如果应用程序锁定了文件,您必须关闭所有缓冲区/流或之前打开的任何文件

如果文件被其他东西锁定,我知道的唯一解决方案就是使用,即使不使用GUI,也可以使用一些控制台参数(因此使用C#中的
Process
class)来运行它。

但要小心这样做,因为您可能会损坏文件,并使用强力打开的句柄关闭一些内存泄漏,可能还有正在使用这些句柄的应用程序。

如果文件被应用程序锁定,您必须关闭所有缓冲区/流或之前打开的任何文件

如果文件被其他东西锁定,我知道的唯一解决方案就是使用,即使不使用GUI,也可以使用一些控制台参数(因此使用C#中的
Process
class)来运行它。

但要小心这样做,因为您可能会损坏文件,并使用强力打开的句柄(可能是正在使用它们的应用程序)关闭一些内存泄漏。

如果需要帮助,您需要澄清您的问题,并发布读取文件所涉及的代码。(尤其是答案中的那篇文章!)似乎正是你想要的(除了删除部分),请阅读。如果你接受了你的一些答案,也许会有更多的人会帮助你……很抱歉,我不能提供足够的细节。该文件被我不完全理解的应用程序锁定。它将一些信息写入临时文件。在我关闭应用程序时,它会被删除。我不知道应用程序在这个文件上使用了什么类型的锁。随着临时文件的大小不断增大,我希望监视文件内容。但是,到目前为止,我无法通过.NET C#API打开该文件。如果需要帮助,您需要澄清您的问题并发布阅读该文件所涉及的代码。(尤其是答案中的那篇文章!)似乎正是你想要的(除了删除部分),请阅读。如果你接受了你的一些答案,也许会有更多的人会帮助你……很抱歉,我不能提供足够的细节。该文件被我不完全理解的应用程序锁定。它将一些信息写入临时文件。在我关闭应用程序时,它会被删除。我不知道应用程序在这个文件上使用了什么类型的锁。随着临时文件的大小不断增大,我希望监视文件内容。但是,到目前为止,我无法通过.NET C#API打开该文件。