/// 解密文件夹及其子文件夹中的所有文件
/// </summary>
public static void DecryptDirectory(string dirPath, string pwd, RefreshDirProgress refreshDirProgress, RefreshFileProgress refreshFileProgress)
{
string[] filePaths = Directory.GetFiles(dirPath, "*", SearchOption.AllDirectories);
for (int i = 0; i < filePaths.Length; i++)
{
FileEncrypt.DecryptFile(filePaths[i], pwd, refreshFileProgress);
refreshDirProgress(filePaths.Length, i + 1);
}
}
#endregion
}
/// <summary>
/// 更新文件夹加密进度
/// </summary>
public delegate void RefreshDirProgress(int max, int value);
}
4、跨线程访问控制委托
复制代码
using System;
using System.Windows.Forms;
namespace Utils
{
/// <summary>
/// 跨线程访问控件的委托
/// </summary>
public delegate void InvokeDelegate();
/// <summary>
/// 跨线程访问控件类
/// </summary>
public class InvokeUtil
{
/// <summary>
/// 跨线程访问控件
/// </summary>
/// <param name="ctrl">Form对象</param>
/// <param name="de">委托</param>










