我有几个文件,必须通过VB.net编写的进程定期更新。 这些文件位于服务器上,是许多用户可以访问的域的一部分。这些文件不应该写入,因为它们仅供参考。我需要能够覆盖其中的一些,即使用户打开了它们。是否有可能做到这一点?目前,文件权限并未设置为只读,但只要进程运行的用户仍然有权覆盖它们,我就可以执行此操作。是否可以覆盖当前由另一个用户打开的文件
更新:thx为您的答复。这些文件是pdf,并通过从Windows文件浏览器中单击它们打开。当用户只是在Windows资源管理器中选择文件时,也会发生这种情况。
这取决于如何文件已经由从他们阅读的用户(一个或多个)开幕。你能对此有所了解吗? – 2011-05-04 23:37:00
某些应用程序将(为显然没有很好的理由)打开独占访问的文件。如果是这种情况,那么在文件句柄关闭之前,文件不能被其他进程修改(共享提示甚至没有效果)。在[OpenFile](http://msdn.microsoft.com/en-us/library/aa365430%28v=vs.85%29.aspx)文档中可以找到实际低级别标志的基本概念。 – 2011-05-05 00:25:59
您可能可以覆盖它们,具体取决于它们是如何打开的。但请注意,如果在打开时替换它们,那么打开它们的用户在关闭并重新打开修改的文件之前将不会看到新版本。 – 2011-05-05 00:28:53