C sharp Folder Locker With Password Using SQLite Database




Source code :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Security.AccessControl;
using System.IO;
using Finisar.SQLite; //   SQlite Library
namespace folderLockerWithPass
{
    public partial class mainform : Form
    {
        public mainform()
        {
            InitializeComponent();
        }
        private SQLiteConnection sql_con;
        private SQLiteCommand sql_cmd; 
        private void SetConnection()
        {
            sql_con = new SQLiteConnection("Data Source=test.db;Version=3;New=False;Compress=false;");
        }
     
        private void SelectQuery()
        {
            string textSQLQuery = "Select NewPassword From UserInfo where NewPassword='" + PasswordConfirm.Text + "' ";
            ExecuteQuery(textSQLQuery);
          
        
        }
        private void UpdateQuery()
        { 
            string UpateQuery="UPDATE  UserInfo SET NewPassword='"+newPasstb.Text+"' where NewPassword='"+currentPasstb.Text+"'";
            ExecuteQuery(UpateQuery);
        }
        private void ExecuteQuery(string txtQuery)
        {
            SetConnection();
            sql_con.Open();
            sql_cmd = sql_con.CreateCommand();
            sql_cmd.CommandText = txtQuery;
            sql_cmd.ExecuteNonQuery();
            sql_con.Close();
        }
        private bool Down_Mouse;//  variables 
        private Point MouseFirstPoint;  // to move form with out borders
        private void lockFolder()
        {
            //  Locking the folder as follow 
            try
            {
                string folderPath = fpath.Text;
                string adminUserName = Environment.UserName;
                DirectorySecurity ds = Directory.GetAccessControl(folderPath);
                FileSystemAccessRule fsa = new FileSystemAccessRule(adminUserName, FileSystemRights.FullControl, AccessControlType.Deny);
                ds.AddAccessRule(fsa);
                Directory.SetAccessControl(folderPath, ds);
           
            }
            catch (Exception ex)
            {
              
            } 
        
        
        
        }
        private void unlockFoldercode()
        { 
                   //Unlock the folder as follow
            try
        
          {
              string folderPath = fpath.Text;
     string adminUserName = Environment.UserName;
     DirectorySecurity ds = Directory.GetAccessControl(folderPath);
     FileSystemAccessRule fsa = new FileSystemAccessRule(adminUserName, FileSystemRights.FullControl, AccessControlType.Deny);
     ds.RemoveAccessRule(fsa);
     Directory.SetAccessControl(folderPath, ds);
     }
     catch (Exception ex)
     {
     } 
     }
        private void lockbtn_Click(object sender, EventArgs e)
        {
        
            
            if (fpath.Text != "" && lockrbtn.Checked==true)
            {
                ChangPassGb.Hide();
                mainstatus.Text = "Confirm Password ";
               
                lockPanel.Show();
                    label1.Text="Confirm Your Password To Lock Folder ";
             
             
                
            }
            if (fpath.Text != "" && unlockrbtn.Checked == true)
            {
                mainstatus.Text = "Confirm Password ";
                lockPanel.Show();
                label1.Text = "Confirm Your Password To Unlock Folder";
                
            
            }
            else mainstatus.Text = "Status :Select Folder First !";
            }
        
        private void mainform_Load(object sender, EventArgs e)
        {
            this.lockrbtn.Checked = true;
            
            lockPanel.Hide();
            ChangPassGb.Hide();
          
           }
        private void confirmpassbtn_Click(object sender, EventArgs e)
        {
            SelectQuery();
            sql_con.Open();
            SQLiteDataReader dr = sql_cmd.ExecuteReader();
            int count = 0;
            string Password = "";
            while (dr.Read())
            {
                count++;
                Password = dr[0].ToString();
            }
            if (count== 1 && lockrbtn.Checked==true)
            {
                lockFolder();
                mainstatus.Text = "Status : Folder locked Successfully!";
                lockPanel.Hide();
            } 
            
            if (count == 1 && unlockrbtn.Checked == true)
            
            {
                unlockFoldercode();
                mainstatus.Text = "Status : Folder Unlocked Successfully";
                lockPanel.Hide();
            
            }
            else
            {
                PasswordConfirm.BackColor = Color.Tomato;
                label1.Text = "Wrong Password Please Try Again !";
            }
        }
       private void aboutbtn_Click(object sender, EventArgs e)
        {
            
            lockPanel.Hide();
          
           }
        private void linkLabel1_Click(object sender, EventArgs e)
        {
            lockPanel.Hide();
}
private void mainform_MouseDown(object sender, MouseEventArgs e)
        {
            Down_Mouse = true;
            Cursor.Hide();
        }
        private void mainform_MouseUp(object sender, MouseEventArgs e)
        {
            Down_Mouse = false;
            Cursor.Show();
        }
        private void mainform_MouseMove(object sender, MouseEventArgs e)
        {
            if (Down_Mouse)  // For to Detect current position of mouse on form and make it moveable  with out default Form Control
            {
                int x = MouseFirstPoint.X - e.Location.X;
                int y = MouseFirstPoint.Y - e.Location.Y;
                int NewPointx = this.Location.X - x;
                int NewPointy = this.Location.Y - y;
                this.Location = new Point(NewPointx, NewPointy);
            }
        }
        private void browse_Click(object sender, EventArgs e)
        {
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                fpath.Text = folderBrowserDialog1.SelectedPath;
                mainstatus.Text = "Status :Folder Selected!";
            }
        }
        private void PasswordConfirm_Click(object sender, EventArgs e)
        {
            if (lockrbtn.Checked == true)
                label1.Text = "Confirm Your Password To Lock Folder";
            else if (unlockrbtn.Checked == true)
                label1.Text = "Confirm Your Password To Unlock Folder ";
            PasswordConfirm.Text = "";
            
            PasswordConfirm.BackColor = Color.White;
        }
              private void linkLabel3_Click(object sender, EventArgs e)
        {
            lockPanel.Hide();
}
        private void linkLabel3_Click_1(object sender, EventArgs e)
        {
            ChangPassGb.Show();
        }
        private void changpassBtn_Click(object sender, EventArgs e)
        {
            if (newPasstb.Text == conNewPasstb.Text)
            
            {
                string NewPassword = newPasstb.Text;
                SetConnection();
                sql_con.Open();
                UpdateQuery();
                label4.Text = "Password Successfully Changed !";
}
else
            {
                label4.Text = "Passwords Does Not Matched ";
                newPasstb.BackColor = Color.Tomato;
                conNewPasstb.BackColor = Color.Tomato;
            }
         
        }
        private void linkLabel1_Click_2(object sender, EventArgs e)
        {
            ChangPassGb.Hide();
            
        }
private void label9_Click(object sender, EventArgs e)
        {
            ChangPassGb.Hide();
        }
        private void label3_Click(object sender, EventArgs e)
        {
            lockPanel.Hide();
        }
private void linkL_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            System.Diagnostics.Process.Start("www.faccebook.com/ziabse");
        }
    }
}

No comments:

Post a Comment

Sending SMS Via Windows Form Application Using any Android Smart Phone  Source Code  using System ; using System . C...