首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# 怎么为文件夹加密?

2013-07-01 
c# 怎样为文件夹加密??求高手帮忙提供给文件夹加密的方法,谢谢了~~[解决办法]/// summary/// 应用程序的

c# 怎样为文件夹加密??
求高手帮忙提供给文件夹加密的方法,谢谢了~~
[解决办法]
/// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main() 
  {
   Application.Run(new Form1());
  }
  private void button1_Click(object sender, System.EventArgs e)
  {
   if(foldeOpen.ShowDialog ()==DialogResult.OK )
   {
    try
    {
     if(foldeOpen.SelectedPath .Substring (3,10)=="Documents ")
     {
      MessageBox.Show ("我不建议C盘下的文件夹伪装,这样可能会导致系统出问题");
     }
     else
     {
      AfoldePath.Text =foldeOpen.SelectedPath;
     }
    }
    catch
    {
     if(foldeOpen.SelectedPath.Length >=4)
     {
      AfoldePath.Text =foldeOpen.SelectedPath;
     }
     else
     {
      MessageBox.Show ("无法对盘符进行伪装.");
     }
    }
   }
  }
  private void AddPassword_Click(object sender, System.EventArgs e)
  {
   try
   {
    ProcessStartInfo p3=new ProcessStartInfo ("attrib.exe",@"-s -r -a -h "+AfoldePath.Text);
    p3.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
    Process.Start (p3);
    ProcessStartInfo p1=new ProcessStartInfo ("attrib.exe",@"-s -r -a -h "+AfoldePath.Text+@"\desktop.ini");
    p1.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
    Process.Start (p1);
    StreamWriter sw2=new StreamWriter (AfoldePath.Text+@"\desktop.ini" );
    sw2.WriteLine (@"[.ShellClassInfo]" );
    sw2.WriteLine ("CLSID="+GetPasType());
    sw2.Close ();
    ProcessStartInfo p =new ProcessStartInfo ("attrib.exe",@"+s +a +h +r "+AfoldePath.Text+@"\desktop.ini");
    p.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
    Process.Start (p);
    ProcessStartInfo p2=new ProcessStartInfo ("attrib.exe",@"+s +r "+AfoldePath.Text);
    p2.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
    Process.Start (p2);
   }
   catch(Exception ee)
   {
    MessageBox.Show (ee.Message .ToString ());


   }
  }
  private string GetPasType()
  {
   int index=comboBox1.SelectedIndex;
   switch (index)
   {
     case 0: return @"{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
     case 1: return @"{450D8FBA-AD25-11D0-98A8-0800361B1103}";
     case 2: return @"{992CFFA0-F557-101A-88EC-00DD010CCC48}";
     case 3: return @"{21EC2020-3AEA-1069-A2DD-08002B30309D}";
     case 4: return @"{D6277990-4C6A-11CF-8D87-00AA0060F5BF}";
     case 5: return @"{2227A280-3AEA-1069-A2DE-08002B30309D}";
     case 6: return @"{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}";
     case 7: return @"{208D2C60-3AEA-1069-A2D7-08002B30309D}";
     case 8: return @"{645FF040-5081-101B-9F08-00AA002F954E}";
     case 9: return @"{85BBD920-42A0-1069-A2E4-08002B30309D}";
     case 10: return @"{BD84B380-8CA2-1069-AB1D-08000948F534}";
     case 11: return @"{BDEADF00-C265-11d0-BCED-00A0C90AB50F}"; 
   }
   return @"{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
  }
  private void button3_Click(object sender, System.EventArgs e)
  {
   if(foldeOpen.ShowDialog ()==DialogResult.OK )
   {
    textBox1.Text =foldeOpen.SelectedPath;
   }
  }

  private void button2_Click(object sender, System.EventArgs e)
  {
   try
   {
       ProcessStartInfo p2=new ProcessStartInfo ("attrib.exe",@"-s -r -a -h "+textBox1.Text);
    p2.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
    Process.Start (p2);
    ProcessStartInfo p1=new ProcessStartInfo ("attrib.exe",@"-s -h -r "+textBox1.Text+@"\desktop.ini");
    p1.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
    Process.Start (p1);
    System.Threading.Thread.Sleep(1000);
    File.Delete (textBox1.Text+@"\desktop.ini");
    MessageBox.Show ("解密成功.");
   }
   catch(Exception ee)
   {
    MessageBox.Show (ee.Message.ToString ());
   }
  }
 }

[解决办法]
这里也有兔子党???
[解决办法]
最简单在需要加密的文件夹内创建一个Desktop.ini
研究下文件夹加密文件
把文件夹转化为其他格式,记录相关信息
解密时解压
http://topic.csdn.net/u/20090422/22/0a4ce825-07e7-4c2b-9f44-3dc995ea6bfe.html
[解决办法]
同样关注当中。。。

热点排行