在打开加密文件系统的情况下从C#创建新目录

在打开加密文件系统的情况下从C#创建新目录,c#,windows,efs,C#,Windows,Efs,是否有人在打开加密文件系统的情况下从C#创建了一个新目录 此外,从安装中获取有关此操作的任何信息也会有所帮助。创建加密目录需要两个步骤-使用directory.CreateDirectory创建它,然后使用Win32函数EncryptFile对其进行加密。示例代码- using System; using System.IO; using System.Runtime.InteropServices; namespace EncryptDir { public class Sample

是否有人在打开加密文件系统的情况下从C#创建了一个新目录


此外,从安装中获取有关此操作的任何信息也会有所帮助。

创建加密目录需要两个步骤-使用directory.CreateDirectory创建它,然后使用Win32函数EncryptFile对其进行加密。示例代码-

using System;
using System.IO;
using System.Runtime.InteropServices;

namespace EncryptDir
{
    public class Sample
    {
        DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern bool EncryptFile(string filename);

        public static void Main ()
        {
            Directory.CreateDirectory("MyEncryptedDirectory");
            EncryptFile("MyEncryptedDirectory");
        }
}
参考资料:

调用似乎也适用于目录。我猜它只是在内部转发到
EncryptFile

托管方法,两者都只需调用中显示的本机
EncryptFile()


因此,无需费尽心机来声明p/invoke API。只需使用内置方法。

有人有过这种经验吗?太好了!非常感谢。奇怪的是,仅仅在.Net类库中似乎没有这样做的方法。不客气!本机.net库通常滞后于Win32 API;我希望现在情况正好相反!!