c#实现文件夹锁定

程序的基本原理是:用C#语言重命名文件夹,通过重命名使之成为windows安全文件的类标识符。具体的方法是为文件夹添加拓展名“.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}”

(.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}是windows安全文件的类标识符),这时文件夹的图标就会变成一把锁,这样文件夹就被加锁了。

  程序的主界面非常简洁,截图如下:

程序中加密解密文件夹的核心代码如下:

        private void btnBrowseFolder_Click(object sender, EventArgs e)

        {

         

            status = lockType;//

           

            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)

            {

                DirectoryInfo d = new DirectoryInfo(folderBrowserDialog1.SelectedPath);

                string selectedpath = d.Parent.FullName + d.Name;

                if (folderBrowserDialog1.SelectedPath.LastIndexOf(".{") == -1)//通过文件夹名称,判断加密

                {                   

                    SetPwd(folderBrowserDialog1.SelectedPath);

                    if (!d.Root.Equals(d.Parent.FullName))

                    {                     

                            d.MoveTo(d.Parent.FullName + "\\" + d.Name + status);//文件夹重命名

                    }

                    else d.MoveTo(d.Parent.FullName + d.Name + status);

                    txtFolderPath.Text = folderBrowserDialog1.SelectedPath;

                   

                }

                else//解密文件夹

                {

                    status = GetStatus(status);

                    bool s = CheckPwd();

                    if (s)

                    {

                        File.Delete(folderBrowserDialog1.SelectedPath + "\\key.xml");

                        string path = folderBrowserDialog1.SelectedPath.Substring(0, folderBrowserDialog1.SelectedPath.LastIndexOf("."));

                        d.MoveTo(path);

                        txtFolderPath.Text = path;

                     

                    }

                }

            }

        }

你可能感兴趣的:(c#实现文件夹锁定)