六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 241|回复: 0

【C#文件夹锁】C#文件夹加锁小工具

[复制链接]

升级  97.67%

159

主题

159

主题

159

主题

举人

Rank: 3Rank: 3

积分
493
 楼主| 发表于 2012-12-17 21:34:46 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">  用C#语言实现一个文件夹锁的程序,网上类似的“xxx文件夹xxx”软件很多,但是基本上都是C/C++语言实现的,且都没有提供源码(这个可以理解,毕竟是加密程序,不应该泄露源码)。
  程序的基本原理是:用C#语言重命名文件夹,通过重命名使之成为windows安全文件的类标识符。具体的方法是为文件夹添加拓展名“.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}”
(.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}是windows安全文件的类标识符),这时文件夹的图标就会变成一把锁,这样文件夹就被加锁了。
  程序的主界面非常简洁,截图如下:

程序中加密解密文件夹的核心代码如下:
<div class="cnblogs_code">        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;                                           }                }            }        }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表