5

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

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

4

3 回答 3

7

创建加密目录将是一个两步过程 - 使用 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 函数@MSDN
处理加密文件和目录@MSDN

于 2011-06-24T19:12:37.987 回答
0

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

于 2012-02-23T07:06:19.537 回答
0

托管方法File.Encrypt()FileInfo.Encrypt()两者都简单地调用另一个答案EncryptFile()中显示的本机。

因此,无需费力地声明 p/invoke API。只需使用内置方法。

于 2018-01-08T03:15:59.630 回答