C# Dosya gizleme Programcığı

Merhaba arkadaşlar uzun zaman sonra yeniden bloğuma döndüm :)

Bloğumu takip edenler bilirler ben Delphi de program yazmayı severim. Yani alışkanlıklar ve ihtiyaçları karşılama gücü delphi'nin daha ağır basıyor :)
Anyway;

Bugun size c# üzerinde yazdığım programı paylaşmak istiyorum. C# a gireli çok uzun bir zaman olmadı kendimi geliştirmek için böyle garip programcıklar yazıyorum. Belki bazılarınızın işine yarayabilir.
Programı kısaca anlatmak gerekirse

- Kullanıcı Adı ve Şifrenizi Regedit Üzerinde tutuyor.
-Eğer kayıt yoksa yeni kullanıcı adı ve şifre eklemenizi sağlıyor.
-Bu işlemler bitince anapanel açılıyor sanırım panel1 di. Bu kısımda gizlemek istediğiniz klasörlerinizi ekleyebiliyorsunuz. Listeden silebiliyorsunuz.
-Program açılışta sistemdeki hdd lerin içerisinde listeleri arıyor. Bu listeleri her kayıt yaptığınızda düzenlemiş oluyorsunuz. Bunların adları dirlist.lst. bunları kaydederken rootlara kaydettim çünkü format attığınızda bu listeler yine formatlanmamış sürücünüzde kalıyor. programı tekrar çalıştırınca bu liste ekrana geliyor. Bundaki amaç yedek alamamış yada bu gizlenilen dosyaları aktif etmeden yani gizli özelliğini kaldırmadan format atmış olabilirsiniz. bu durumda o dosyaları bulmak orta seviye kullanıcılar için zor olabilir. Bundan dolayı böyle bir esneklik getirdim.
-kapatırken listeyi kaydediyor.
-Şifrenizi sonradan değiştirebiliyorsunuz.
VS vs
umarım birilerinin işine yarar... :)
Programıda Burdan İndirebilirsiniz.










Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Microsoft.Win32;


namespace DosyaAyarlar
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void Form1_Load(object sender, EventArgs e)
        {
            

            RegistryKey rkSubKey = Registry.CurrentUser.OpenSubKey("Software").OpenSubKey("dosyagizleme");
            if (rkSubKey == null)
            {
                kullanicikayit.Visible = true;
               // panel2.Visible = false;
                panel1.Visible = false;


            }
            else
            {

                kullanicikayit.Visible = false;
              //  panel2.Visible = true;
                panel1.Visible = false;
            
            }




           
            surucukontroletlistele();
        }


        List<string> listsurucuc = new List<string>();
        List<string> listsurucud = new List<string>();
        List<string> listsurucue = new List<string>();
        List<string> listsurucuf = new List<string>();
        List<string> listsurucug = new List<string>();
        List<string> listsurucuh = new List<string>();
        List<string> listsurucui = new List<string>();
        List<string> listsurucuj = new List<string>();
        List<string> listsurucuk = new List<string>();
        List<string> listsurucul = new List<string>();
        List<string> listsurucum = new List<string>();
        List<string> listsurucun = new List<string>();
        List<string> listsurucuo = new List<string>();
        private void surucukontroletlistele()
        {

            string[] drives = System.IO.Directory.GetLogicalDrives();

            foreach (string str in drives)
            {
                string line;

                if (File.Exists(str + "\\dirlist.lst"))
                {
                    var file = new System.IOStreamReader(str+"\\dirlist.lst");
                    while ((line = file.ReadLine()) != null)
                    {
                        Dosyayollari.Items.Add(line);
                        Klasorisimleri.Items.Add(Path.GetFileName(line));

                    }
                    file.Close();
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
         




        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {

            if (Klasorisimleri.SelectedIndex != -1)
            {
                int sirano = Klasorisimleri.SelectedIndex;
                File.SetAttributes(Dosyayollari.Items[sirano].ToString(), FileAttributes.Normal);

            }
        }


        public void dosyaayirlisteyeekle(string yol)
        {


            Klasorisimleri.Items.Add(Path.GetFileName(yol));
            Dosyayollari.Items.Add(yol);


        }

        private void button3_Click(object sender, EventArgs e)
        {
            DialogResult result = folderBrowserDialog1.ShowDialog();
            if (result == DialogResult.OK)
            {
                string dosyayolu = folderBrowserDialog1.SelectedPath;
                dosyaayirlisteyeekle(dosyayolu);
            }
        }


        private void kayitayristir()
        {



            for (int i = 0; i < Dosyayollari.Items.Count; i++)
            {
              

                switch (Path.GetPathRoot(Dosyayollari.Items[i].ToString()).Substring(0,1))
                {
                    case ("C"): listsurucuc.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("D"): listsurucud.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("E"): listsurucue.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("F"): listsurucuf.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("G"): listsurucug.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("H"): listsurucuh.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("I"): listsurucui.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("J"): listsurucuj.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("K"): listsurucuk.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("L"): listsurucul.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("M"): listsurucum.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("N"): listsurucun.Add(Dosyayollari.Items[i].ToString()); break;
                    case ("O"): listsurucuo.Add(Dosyayollari.Items[i].ToString()); break;

                }
            }

                if (listsurucuc.Count>0)
                {
                   besleme.Items.AddRange(listsurucuc.ToArray());
                    listeyikaydet("c");
                    listsurucuc.Clear();
                   
                 }

                if (listsurucud.Count > 0)
                {
                    besleme.Items.AddRange(listsurucud.ToArray());
                    listeyikaydet("d");
                    listsurucud.Clear();
                   
                }

                if (listsurucue.Count > 0)
                {
                    besleme.Items.AddRange(listsurucue.ToArray());
                    listeyikaydet("e");
                    listsurucue.Clear();
                }

                if (listsurucuf.Count > 0)
                {
                    besleme.Items.AddRange(listsurucuf.ToArray());
                    listeyikaydet("f");
                    listsurucuf.Clear();
                }

                if (listsurucug.Count > 0)
                {
                    besleme.Items.AddRange(listsurucug.ToArray());
                    listeyikaydet("g");
                    listsurucug.Clear();
                }

                if (listsurucuh.Count > 0)
                {
                    besleme.Items.AddRange(listsurucuh.ToArray());
                    listeyikaydet("h");
                    listsurucuh.Clear();
                }

                if (listsurucui.Count > 0)
                {
                    besleme.Items.AddRange(listsurucui.ToArray());
                    listeyikaydet("i");
                    listsurucui.Clear();
                }

                if (listsurucuj.Count > 0)
                {
                    besleme.Items.AddRange(listsurucuj.ToArray());
                    listeyikaydet("j");
                    listsurucuj.Clear();
                }

                if (listsurucuk.Count > 0)
                {
                    besleme.Items.AddRange(listsurucuk.ToArray());
                    listeyikaydet("k");
                    listsurucuk.Clear();
                }

                if (listsurucul.Count > 0)
                {
                    besleme.Items.AddRange(listsurucul.ToArray());
                    listeyikaydet("l");
                    listsurucul.Clear();
                }

                if (listsurucum.Count > 0)
                {
                    besleme.Items.AddRange(listsurucum.ToArray());
                    listeyikaydet("m");
                    listsurucum.Clear();
                }

                if (listsurucun.Count > 0)
                {
                    besleme.Items.AddRange(listsurucun.ToArray());
                    listeyikaydet("n");
                    listsurucun.Clear();
                }

                if (listsurucuo.Count > 0)
                {
                    besleme.Items.AddRange(listsurucuo.ToArray());
                    listeyikaydet("o");
                    listsurucuo.Clear();
                }
               
               
               
               
                

            }
       


        private void listeyikaydet(string surucu)
        {
            if (File.Exists(surucu + ":\\dirlist.lst"))
            {
                File.Delete(surucu + ":\\dirlist.lst");  
            }
            var sw = new StreamWriter(surucu + ":\\dirlist.lst", false);
                foreach (var item in besleme.Items)
                    sw.Write(item.ToString() + Environment.NewLine);
                sw.Close();
                File.SetAttributes(surucu + ":\\dirlist.lst", FileAttributes.System | FileAttributes.Hidden);
                besleme.Items.Clear();

            

        }

        private void button4_Click(object sender, EventArgs e)
        {
            kayitayristir();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            if (Klasorisimleri.SelectedIndex != -1)
            {
                int sirano = Klasorisimleri.SelectedIndex;
                File.SetAttributes(Dosyayollari.Items[sirano].ToString(), FileAttributes.System | FileAttributes.Hidden );
               
               

            }
        }

        private void button6_Click(object sender, EventArgs e)
        {
            int silinecek = Klasorisimleri.SelectedIndex;
            Klasorisimleri.Items.RemoveAt(silinecek);
            Dosyayollari.Items.RemoveAt(silinecek);
        }

        private void button7_Click(object sender, EventArgs e)
        {
            if (Dosyayollari.Visible==false)
            {
                Dosyayollari.Visible = true;
                Klasorisimleri.Width = 107;
            }
            else
            {
                Dosyayollari.Visible = false;
                Klasorisimleri.Width =297;
            }
        }

      

        private void button9_Click(object sender, EventArgs e)
        {
           
        }

     

        public void regeditkayitkontrol()
        {
          
        }

        private void button8_Click(object sender, EventArgs e)
        {
          
        }

        private void button9_Click_1(object sender, EventArgs e)
        {
            if (textBox2.Text == textBox3.Text)
            {
                Registry.CurrentUser.CreateSubKey("Software").CreateSubKey("dosyagizleme").SetValue("kullaniciadi", textBox1.Text);
                Registry.CurrentUser.CreateSubKey("Software").CreateSubKey("dosyagizleme").SetValue("sifre", textBox2.Text);
                kullanicikayit.Visible = false;
                panel1.Visible = true;
            }
        }

        private void button8_Click_1(object sender, EventArgs e)
        {
            
        }

        private void button8_Click_2(object sender, EventArgs e)
        {
            string kadi = Registry.CurrentUser.OpenSubKey("Software").OpenSubKey("dosyagizleme").GetValue("kullaniciadi").ToString();
            string ksif = Registry.CurrentUser.OpenSubKey("Software").OpenSubKey("dosyagizleme").GetValue("sifre").ToString();

            if (kadi == textBox4.Text & ksif == textBox5.Text)
            {
                panel2.Visible = false;
                panel1.Visible = true;
            }
            else
            {
                label7.Visible = true;
            }
        }

        private void button10_Click(object sender, EventArgs e)
        {
            kullanicikayit.Visible = true;
            panel1.Visible = false;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            kayitayristir();
        }

       
    }
}

Yorumlar

  1. Hocam yapılışını anlatırmısınız ya da proje olarak atarmısınız...

    YanıtlaSil

Yorum Gönder