C# 避免从代码中删除文件夹

C# 避免从代码中删除文件夹,c#,directory,C#,Directory,我正在锁定一个文件夹,方法是通过C代码将“{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}”附加到文件夹名称 新文件夹名称及其附加文本的位置保存在变量new\u dir中 我的代码将数据附加到此文件夹中的.txt文件中。现在我想避免任何用户甚至管理员删除此文件夹。Windows允许通过更改组策略来实现这一点,但我不希望这样 我想到了在那个文件夹中打开一个文件并保持它的打开状态,这样文件夹就不会被删除,但我无法实现它 有谁能帮助我在我的项目中实现这个概念吗 static

我正在锁定一个文件夹,方法是通过C代码将“{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}”附加到文件夹名称

新文件夹名称及其附加文本的位置保存在变量
new\u dir

我的代码将数据附加到此文件夹中的
.txt
文件中。现在我想避免任何用户甚至管理员删除此文件夹。Windows允许通过更改组策略来实现这一点,但我不希望这样

我想到了在那个文件夹中打开一个文件并保持它的打开状态,这样文件夹就不会被删除,但我无法实现它

有谁能帮助我在我的项目中实现这个概念吗

static void Main()
{
    using (var stream = File.OpenRead(@"C:\Temp\Foldertest\SomeTextFile.txt"))
    {
        Application.Run(new Form1());
    }
}

使用-语句在
中打开文件,无法删除文件夹或父文件夹。一旦退出,流将被关闭,文件/文件夹将被删除。因此,您可以在
中使用

执行什么操作,这取决于您自己。谢谢tim,但我正在使用windows窗体并锁定文件夹,请单击按钮,这样在窗体退出后,我仍然可以防止文件夹被删除deleting@NishantDwivedi:为什么是winforms应用程序?最好是windows服务我对windows服务的了解较少…但我问的是…这可能吗???@NishantDwivedi:理论上,但应用程序不能通过任务管理器退出或结束。看看我编辑的版本。您甚至可以在不结束应用程序的情况下隐藏表单。public void btnSave\u Click(object sender,EventArgs e){dir=@“D:\”+textBoxData.Text;new\u dir=dir+for\u lock;pwd();使用(var stream=File.OpenRead(@“D:\”+new\u dir+@“\data.txt)))