【发布时间】:2014-01-31 02:26:02
【问题描述】:
我想知道进程是否有办法“锁定”一个完整的文件夹/目录,并且不允许任何其他进程(使用 Process.Start 创建的子进程除外)修改/删除其中的任何内容。我不介意允许只读访问,但这不是必需的。
这个想法是 MyProcess 应该能够获得一个 DIRECTORY(不是文件)的锁,并且不允许任何其他进程修改该目录的内容。但是,继承进程(使用 MyProcess 中的 Process.Start() 开始)应该能够修改该目录,但不能修改其他人。
我正在使用 C#(Windows 环境)。
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
您可以使用 Directory.SetAccessControl() 进行操作。这与“锁”无关。当程序爆炸时,结果总是很糟糕。所以不行。重命名或移动目录以使其他程序无法猜测新名称的外观是一个简单的技巧。傻到看到这种方法太有缺陷了。
-
一开始为什么要这样做?
-
因为我需要确保在 ProcessX 处理目录时没有其他应用程序与目录混淆。
标签: c# .net windows file-locking