有没有人在打开加密文件系统的情况下从 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");
}
}
似乎调用File.EncryptFile也适用于目录。我猜它只是转发到EncryptFile
内部。
托管方法File.Encrypt()
和FileInfo.Encrypt()
两者都简单地调用另一个答案EncryptFile()
中显示的本机。
因此,无需费力地声明 p/invoke API。只需使用内置方法。