C# 文件夹/目录锁定,因此只有正在运行的应用程序(和子进程)才能修改它

C# 文件夹/目录锁定,因此只有正在运行的应用程序(和子进程)才能修改它,c#,.net,windows,file-locking,C#,.net,Windows,File Locking,我想知道是否有一种方法可以让一个进程“锁定”一个完整的文件夹/目录,并且不允许任何其他进程(使用process.Start创建的子进程除外)修改/删除其中的任何内容。我不介意允许只读访问,但这不是要求 其思想是MyProcess应该能够获得目录(而不是文件)上的锁,并且不允许任何其他进程修改该目录的内容。但是,要求继承的进程(使用MyProcess中的PROCESS.Start()启动)能够修改该目录,但不能修改其他目录 我正在使用C#(Windows环境)。简单的答案是:不。这不是操作系统支持

我想知道是否有一种方法可以让一个进程“锁定”一个完整的文件夹/目录,并且不允许任何其他进程(使用process.Start创建的子进程除外)修改/删除其中的任何内容。我不介意允许只读访问,但这不是要求

其思想是MyProcess应该能够获得目录(而不是文件)上的锁,并且不允许任何其他进程修改该目录的内容。但是,要求继承的进程(使用MyProcess中的PROCESS.Start()启动)能够修改该目录,但不能修改其他目录


我正在使用C#(Windows环境)。

简单的答案是:不。这不是操作系统支持的方案。

我已经编辑了您的标题。请参阅“”,其中一致意见是“不,他们不应该”。您可以使用Directory.SetAccessControl()进行操作。这与“锁”无关。当节目爆炸时,结局总是很糟糕。所以,不。重命名或移动目录,使其他程序无法猜测新名称的外观是一个简单的技巧。愚蠢到可以看出这种方法有太多的缺陷。可能的重复:首先为什么要这样做?因为我需要确保在ProcessX处理目录时,没有其他应用程序会弄乱目录。