You are on page 1of 50

CHAPTER - I 1.

INTRODUCTION
Folder Protection is software to password protect folders. If you share your computer, you can use Folder Protection to stop other users from opening and modifying your personal files and folders.

When folders (subfolders) are password protected and locked, their contents cannot be read, copied, modified or deleted. To access the locked folders, you must supply the correct password (key). You can use Folder Protection to lock folders on your hard drive, external and removable drives.

Unlike other software programs, Folder Protection will not allow access to the locked folders in Windows Safe Mode or DOS. You can even store your protected folders on an external or removable drive. The protected folder can be opened only if you know the correct password. You can password protect folders located on your USB flash drive and USB hard drives. Store your USB drive with safety. Also, you can protect folders on your local server (network drive).

Folder Protection supports Windows Explorer. To protect a folder, right-click it and select Lock With Folder Protection from the right-click menu. To unprotect the folder, double-click it and enter the password. Folder Protection does not send your password, ID, or any of your private information to us.

1.1

PLATFORM:

1.1.1 Hardware Requirements:


Processor of the System Main Memory Capacity Hard Disk Capacity : : : Intel Pentium III (or) P-IV 64 (or) 128 MB RAM 20 GB

1.1.2 Software Requirements: Environment Operating System Software : : : Graphical User Interface (GUI) Windows 9x / Windows NT Microsoft Visual Basic 6.0 Professional or Enterprise Edition

1.2

ABOUT VISUAL BASIC (VB):

Visual basic is an ideal programming language for developing sophisticated professional applications for Microsoft Windows. It makes use of Graphical User Interface for creating robust and powerful applications. The Graphical User Interface as the name suggests, uses illustrations for text, which enable users to interact with an application. This feature makes it easier to comprehend things in a quicker and easier way.

Coding in GUI environment is quite a transition to traditional, linear programming methods where the user is guided through a linear path of execution and is limited to a small set of operations. In a GUI environment, the number of options open to the user is much greater, allowing more freedom to the user and developer. Features such as easier comprehension, user-friendliness and faster application development many other aspects such as introduction to ActiveX technology and Internet features make visual basic an interesting tool to work with.

Visual basic was developed from the BASIC programming language. In the 1970s Microsoft started developing ROM-based interpreted BASIC for the early microprocessor basic computers. In 1982, Microsoft QuickBasic revolutionized Basic and was legitimized as a serious development language for MS-DOS environment. Later on, Microsoft Corporation created the enhanced version of BASIC called visual basic for windows.

Visual Basic is called as an Event Driven Programming because it executes event by event. Forms and controls are the basic elements in the user interface of any visual basic application. In visual basic, these are called objects, because they are used like real world objects. Like any other physical object, they also have properties and react to external events. Most control properties of the visual basic objects are set when they are created and placed on the form. But the properties of those controls can be changed later by assigning a new value to it. This means that the properties of the visual basic objects can be assigned at design time through the properties window or at run time through the visual basic program code.

The Visual Basic programming language is not unique to Visual Basic. The Visual Basic programming system, Applications Edition included in Microsoft Excel, Microsoft Access, and many other Windows applications uses the same language. The Visual Basic Scripting Edition (VBScript) is a widely used scripting language and a subset of the Visual Basic language.

Data access features allow you to create databases, front-end applications,

and scalable server-side components for most popular database formats, including Microsoft SQL Server and other enterprise-level databases.

ActiveX technologies allow you to use the functionality provided by other

applications, such as Microsoft Word, Microsoft Excel, and other Windows applications. You can even automate applications and objects created using the Professional or Enterprise editions of Visual Basic.

Internet capabilities make it easy to provide access to documents and

applications across the Internet or intranet from within your application, or to create Internet server applications.

1.3 Integrated Development Environment


Menu Bar This menu bar displays the commands that are required to build an application. The main menu items have sub menu items that can be chosen when needed. The toolbars in the menu bar provide quick access to the commonly used commands and a button in the toolbar is clicked once to carry out the action represented by it. 4

Tool Bar The toolbars in the toolbox provide quick access to the commonly used commands and a button in the toolbar is clicked once to carry out the action represented by it.

Project Explorer Window (Ctrl+R) Docked on the right side of the screen, just under the toolbar, is the Project Explorer window. The Project Explorer serves as a quick reference to the various elements of a project namely form, classes and modules. All of the objects that make up the application are packed in a project. A simple project will typically contain one form, which is a window that is designed as part of a programs interface. It is possible to develop any number of forms for use in a program, although a program may consist of a single form. In addition to forms, the Project Explorer window also lists code modules and classes.

Properties Window (F4) The Properties Window is docked under the Project Explorer window. The Properties Window exposes the various characteristics of selected objects. Each and every form in an application is considered an object. Now, each object in Visual Basic has characteristics such as color and size. Other characteristics affect not just the appearance of the object but the way it behaves too. All these characteristics of an object are called its properties. Thus, a form has properties and any controls placed on it will have properties too. All of these properties are displayed in the Properties Window. 5

Form Layout Window The Form Layout window allows you to position the forms in your application using a small graphical representation of the screen.

Toolbox The Toolbox contains a set of controls that are used to place on a Form at design time thereby creating the user interface area. Additional controls can be included in the toolbox by using the components menu item on the Project menu. The Pointer provides a way to move and resize the controls and Forms. Label displays a text that the user cannot modify or interact with. Frame control serves as a visual and functional container for controls. Checkbox displays a True/False or Yes/No option. Textbox is a control used to display message and enter text. The ListBox displays a list of items from which a user can select one. ComboBox contains a Textbox and a Listbox. This allows the user to select an item from the dropdown ListBox, or to type in a selection in the Textbox. HScrollBar and VScrollBar controls allow the user to select a value within the specified range of values. Timer control executes the timer events at specified intervals of time. DirListBox allows the user to select the directories and paths, which are displayed. Shape control adds a shape (rectangle, square or circle) to a Form. Image control is used to display icons, bitmaps, metafiles etc.

OLE control is used to link or embed an object, it display and manipulate data from other windows based applications. PictureBox displays icons/bitmaps and metafiles. It displays text or acts as a visual container for other controls. CommandButton carries out the specified action when the user chooses it. The Option Button control, which is a part of an option group, allows the user to select only one option even if it displays multiple choices. The DriveListBox displays the valid disk drives and allows the user to select one of them. The FileListBox displays a set of files from which a user can select the desired one. Line control draws a straight line to the Form. Data control enables the user to connect to an existing database and display information from it. Form Designer Serves as a window that you customize to design the interface of your application. You add controls, graphics, and pictures to a form to create the design you want. Each form in your application has its own form designer window. Object Browser (F2) The Object Browser allows us to browse through the various properties, events and methods that are made available to us. It is accessed by selecting Object Browser from the View menu or by pressing the key F2. The left column of the object browser lists the objects and classes that are available in the projects that are opened and the controls that have been referenced in them.

Code Editor Window Serves as an editor for entering application code. A separate code editor window is created for each form or code module in your application.

1.4

Developing an Application

An application can be created with the project. A project is a collection of files that are used to build an application. Writing a Visual Basic involves two steps. Visual Programming step

Code Programming step

Visual programming step involves designing an application with various tools that come along with Visual Basic package. The code-programming step involves writing programs using a text editor. This section involves writing the first Visual Basic programs. Before writing the program, its specifications have to be reviewed. The program window resembles comprising of three-command button control that performs specific actions represented by their caption and an empty textbox. The Display button displays specified message and Clear Button clears the message in the textbox. Exit button terminates the application.

1.5 Visual Basic a prospect:

Visual Basic is a graphical user interface programming language. It is the quickest and easiest way to create applications for Microsoft windows, operating system. It helps to exploit the key features of Microsoft windows. Such as multiple document interface (MDI), Object linking and embedding (OLE). Visual Basic includes a program editor to create and modify the code written. Visual basic is both an interpreter and a compiler. The interpreter execute an application with in the environment, whereas the compiler is to run an application into a stand-alone code that runs in the windows environment and it also has a debugger to determine why an application does not work.

Visual basic is unique, is that only few lines of code are needed to create a complete, working application to give most understandable graphical form. In most programming language it takes hundred of lines of code simply to open a window, where as in Visual Basic it alone creates every thing with less code.

1.6 Object Oriented Programming in VB


The object oriented programming is used in VB. This method changes code and data into autonomous object. The idea is that whenever an object is created to do something it is no longer necessary to know how it works. Simply message is passed to the object, this way an object is created in one program can be reused easily in another.

1.7 Event driven approach

The event driven approach is used in VB, which enables user to share the computing time and other resources. The code remains idle, until called upon to respond to specific user caused or system caused action. For example when the user clicks the command button named command this control recognizes this as click. Event executes the command1_click procedure if any in response to action VB calls this procedure. User chooses button with CLICK mouse click Command1_click user tabs to command1_got Focus button GOT FOCUS command1_keypress COMMAND1 User presses VB Procedure is attached a key while KEY PRESS to command one button is selected.

Structure of Visual Basic has mainly four major components namely. 1. Objects 2. Events 3. Methods 4. Properties

1.OBJECTS Not only does a Visual Basic have object, but also the objects are real, touchable things like buttons and boxes. Other object oriented languages create objects with an object command of some sort that defines a block of code and data as an object but Visual Basic makes it easier by making the object a visible thing rather a coding abstraction.

2. EVENTS

10

Each control has a set of events. Objects communicate with each other, with the system and with the programs using events only. Events are actions that an object might want to respond .For example when a mouse is moved and a mouse button is clicked, the system keeps track of where mouse pointer is and what object was under it when it was clicked. The events include things like clicking, double clicking an object or pressing a key while the object has the focus. Object dont pass all events to the program, many events are handled by the objects or by the window operating system. 3. METHOD Objects are not simply bundled blocks but a binding of data and the code that manipulates it. Events object contains codes to manipulate its own data known as methods. To involve a method, the object name, a dot and then the method name is typed. 4. PROPERTIES The data contained in an object is stored in its properties. Properties not only contain the data stored in an objects such as the text printed in the printer object but also the object dimensions, colors size numeric codes that specifies its capabilities, fonts font positions shape, etc. Each control has a set of properties can be specific to certain controls, though most properties are common to a number of them. Some properties are set at design time, some are at run time and most can be changed and read while the program is running. Some properties are only available at run-time and may be read only. Thus VB satisfies the saying Representation in picture is equivalent to words and works as pre the same.

11

1.8 FORMS AND CONTROLS


Forms Forms are used for nearly all screen display in VB. The only way to display text without drawing it on form or on a control on a form is to use the message box. The windows and the dialog boxes, familiar from other window application, are all rendered as forms in VB. When VB is started a blank form is displayed. The second and subsequent forms in a project are produced by selecting new from the form menu.

Drawing a form The user actually never draws the basic form in VB. It is done for them by the VB itself. When the program runs as each form is displayed it with appears in the position in the screen it occupied when writing the program, unless you write code to position it. The form can be moved to any location in the screen with mouse cursor in the options bar. The font size can be adjusted by dragging on the borders. It can also be made fixed in size by altering the border style property. When this is done it cannot be altered while it is running by dragging the border. When the border style on the form is changed at design stages, the changes do not immediately appear. They only take effect only when the program is run.

Controls

12

Controls are drawn on a form much in the same way as computer drawing program is used. As control type is selected from the toolbox, and then drawn on the form in the required place.

1.9 TYPES OF CONTROLS


VB provides 21 types of controls and this enables to use most of the futures of the windows easily. VB is an extensible language and it is possible to add new types of controls.

Labels Label controls are used to space static controls on a form. They are used mostly for labeling. Label controls do not have some events associated in them, but it is unusual to write code to respond to these. It is possible to change the displayed text at run time. At design time only a single line of text can be set. It is possible to set multiple lines at runtime by assigning a string storage containing carriage return caption property. Label controls have many properties, but the most useful all those, which enables us to set the font, size and color of the text.

Check boxes A check box control provides a means to turn on an option on or off. A check box appears as a simple rectangle in screen and will normally have a caption besides it. When a check box is checked it has diagonal cross with in it. Check 13

boxes are used for options that can be turned on or off individually. It is fairly unusual to write an event code for a check button that changes from checked or unchecked is all handled by windows.

Combo boxes Combo box is a combination of textbox and a list box. It allows the user to make a selection by either selecting an item from the list, or with a list box or modifying an item or entering a completely new one with the text box. Combo boxes are used for many file selection in many windows program. But VB provides a special control for this. The selected item can be read using the list, list count and list index properties described in the description of a list box control.

Text boxes It is used for entering and editing text. It may be single line or multi line. A multi line editor control may have vertical and horizontal scroll bars if required. In fact multi line text can hold upto about 32000 characters quite a sizable text file.

Command Buttons These are familiar with pseudo-3D button with centered text, which appears to depress when the user clicks on them. The most important properties is caption, which sets the text to be displayed on the button.

Option Button

14

These are similar to check boxes except that they are used in groups and only one of the groups can be set any one time. They are sometimes called radio buttons.

1.10 New Features in VB:

Visual basic 6 supports client/server applications that work with databases can be created whether or not a connection exists with a LAN or the web. Visual basic 6 professional edition is designed for the individual professional or corporate developer who needs to create a client/server or Internet-enabled application. Visual basic 6 Enterprise Edition is designed for teams of developers creating distributed, applications. high-performance client/server or Internet and intranet

1.10.1 Modules:
Modules are collections of code and data that function something like objects in object-oriented programming (OOP), but without defining OOP characteristics like inheritance, polymorphism, and so on. The point behind modules is to enclose procedures and data in a way that hides them from the rest of the program.

15

1.10.2

Windows API Functions:

The windows API (Application Program Interface) can also be used to create windows in shapes other than rectangular. Your applications would really be unique if it used a circular or triangle window. The API opens up a world of possibilities for the serious developer.

The window API is a set of several hundred functions and subroutines that are located in a set of files called dynamic link libraries (DLL). You can make a function from the windows API available to your Visual Basic program by declaring the function to be callable from your program. You can then use the windows API function as you would any built-in Visual Basic function or a function you have written yourself. After you master the use of the windows API, you will have a powerful new tool that will enable you to break out of the confines of Visual Basic and extend your programs in ways you might not have thought were possible.

The Dynamic Link Library (DLL) files that make up the windows API are commonly located in the windows System Directory. The three windows dlls are User32.Dll, Kernel32.Dll & GDI32.Dll.

Some DLLS are listed below

16

COMDLG.DLL DLLLZ32.DLL VERSION.DLL APIGID.DLL AOMCTL32.DLL MAPI32.DLL NETAPI32.DLL ODBC32.DLL WINMM.DLL

1.10.3 Active X DLL:


DLL is Dynamic Link Library, which contains a set of functions that will be inked to the application dynamically. ActiveX DLL is a in-process code component that contains a set of reusable code components that can be used in any other windows application.

1.10.4 Steps in Creating Active X DLL:


From the New Project dialog box select ActiveX DLL as the project type. A class module is added to your project.

17

Add methods, functions, and properties using the Add Procedure dialog box from the Tools Menu. Add a module to the project and add the following code. Sub Main( ) End sub Now change the project Startup Object in the Project Properties dialog box to Sub Main. Change the name of the project and compile it using Make DLL from the File Menu. To use this DLL, add it to your project using references.

18

CHAPTER - II 2. PROJECT DESCRIPTION


One day or another we all come to a decision we need to password protect folder containing our business critical or private information. In search for proper tools we may try various software solutions. Finding the appropriate software to password protect folder with important data, however, may be a challenging task.

2.1 Features:
Being able to password protect folder entirely. Password protects folder access (including read, write and view operations). Apply protection automatically. Being able to password protect files within the folder. Password protect folder list we specify once. Ensure protected files and folders are secure from outer world intrusions. Password protects folder contents using strong encryption and fast

decryption.

Hide Files & Folders is a great easy-to-use password-protected security utility working at Windows kernel level you can use to password-protect certain files and folders, or to hide them securely from viewing and searching just with a click of

19

mouse. Upon accessing any protected file or folder, dialog box querying password appears on the screen. If valid password entered, user gets access to the file or folder, otherwise not. Hide Files and Folders do not modify your media: in protecting your files or folders, it just uses a high-reliability VXD driver working at Windows kernel level. This guarantees that Hide Files and Folders will never lose your data, as may happen if you use other file- and folder-protecting software. Due to unique technology, the program also lets you protect system files and folders such as the Windows System, Registry and Swap files. Go ahead! Download the program right now! You will find it very easy to use.

2.2 Key Benefits:


Reliable Folder Protection Supports for USB External & Flash Drives Support for Windows Explorer Folder Security

20

CHAPTER - III 3. SYSTEM ANALYSIS

System Description:
Folder Protection is security software that lets you control access to your folders. Secure your documents to prevent people from viewing, printing, or altering them. You can protect folders located on your hard drive, as well as on external USB and removable drives. If the drive is connected to another PC, your folders still remain protected. Folder Protection is ideal for notebooks. Prevent confidential information from ending up in the wrong hands. Simply right clicking on it within Windows Explorer can protect a folder. Attempting to open the folder will bring up the Folder Protection password dialog. The protected folders cannot be copied or deleted while they are locked.

Folder Lock is a fast file-security program that can password-protect, lock, hide and encrypt any number of files, folders, drives, pictures and documents in seconds. Protected files are hidden, undeletable, inaccessible and highly secure. It hides files from kids, friends and co-workers, safeguards them from viruses, Trojans, worms and spy ware, and even protects them from networked PCs, cable users and hackers. Files can also be protected on USB Flash Drives, Memory Sticks, CD-RW, 21

floppies and notebooks. Protection works even if files are taken from one PC to another on a removable disk, without the need to install any software. It locks files in Windows, DOS and even Safe Modes. Additional Options include Stealth Mode, Hacker Attempt Monitoring, Shred files, Auto Lock, Auto Shutdown PC, Lock your PC, Erase PC tracks, 256-bit Blowfish Encryption and Context Menu in Explorer. Works on Windows 2003/XP/2000/NT/Me/98 and all kinds of disk types like FAT16, FAT32 and NTFS. Folder Lock is the most downloaded file-security program in the market today.

Benefits:
Almost every computer user keeps files and folders that are personal, private and confidential, or important to be preserved as undeletable. You may save passwords or login information in the 'My Documents' folder, or have files that are inappropriate for kids or other family members, or files with valuable information that can be stolen. Such files and folders need security protection so that intruders or unauthorized users cannot access, read, view, copy, move or delete them. If files and folders are left unprotected it can lead to theft, data loss and breaches of your privacy, costing you embarrassment, money, lost data, maybe even your job.

If you are a casual PC user, and want to protect family photos, videos, pictures, financial information, passwords, personal letters and information that would be inappropriate for your kids, friends or co-workers.

22

If you are a business person or an IT professional, protect your own and company projects, source codes, trade secrets and other intellectual property from accidental deletions and theft.

CHAPTER - IV 4. SYSTEM DESIGN


4.1 Sample Coding
Checkpassword using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace FolderProtection { public partial class checkpassword : Form { public string pass; public bool status; public checkpassword() { status = false; InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Equals(pass)) { status = true; this.Close(); } else { MessageBox.Show("Incorrect Password!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 23

status = false; } } private void button2_Click(object sender, EventArgs e) { this.Close(); } } }

Checkpassword.Designer namespace FolderProtection { partial class checkpassword { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.label1 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // label1 24

// this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(12, 22); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(84, 13); this.label1.TabIndex = 0; this.label1.Text = "Enter Password:"; // // textBox1 // this.textBox1.Location = new System.Drawing.Point(102, 22); this.textBox1.Name = "textBox1"; this.textBox1.PasswordChar = '*'; this.textBox1.Size = new System.Drawing.Size(156, 20); this.textBox1.TabIndex = 1; // // button1 // this.button1.DialogResult = System.Windows.Forms.DialogResult.OK; this.button1.Location = new System.Drawing.Point(53, 48); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23); this.button1.TabIndex = 2; this.button1.Text = "Submit"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // button2 // this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.button2.Location = new System.Drawing.Point(159, 48); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(75, 23); this.button2.TabIndex = 3; this.button2.Text = "Cancel"; this.button2.UseVisualStyleBackColor = true; this.button2.Click += new System.EventHandler(this.button2_Click); // // checkpassword // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(306, 79); this.ControlBox = false; this.Controls.Add(this.button2); this.Controls.Add(this.button1); this.Controls.Add(this.textBox1); this.Controls.Add(this.label1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; this.MaximizeBox = false; 25

this.MinimizeBox = false; this.Name = "checkpassword"; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "checkpassword"; this.TopMost = true; this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; } }

26

Form1 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Xml; namespace FolderProtection { public partial class Form1 : Form { public string status; //bool flag = true; string[] arr; private string _pathkey; public Form1() { InitializeComponent(); arr = new string[6]; status = ""; arr[0] = ".{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"; arr[1] = ".{21EC2020-3AEA-1069-A2DD-08002B30309D}"; arr[2] = ".{2559a1f4-21d7-11d4-bdaf-00c04f60b9f0}"; arr[3] = ".{645FF040-5081-101B-9F08-00AA002F954E}"; arr[4] = ".{2559a1f1-21d7-11d4-bdaf-00c04f60b9f0}"; arr[5] = ".{7007ACC7-3202-11D1-AAD2-00805FC1270E}"; } public string pathkey { get { return _pathkey; } set { _pathkey=value; } } private void button1_Click(object sender, EventArgs e) { if (radioButton1.Checked) status = arr[0]; 27

else if (radioButton2.Checked) status = arr[1]; else if (radioButton3.Checked) status = arr[2]; else if (radioButton4.Checked) status = arr[3]; else if (radioButton5.Checked) status = arr[4]; else if (radioButton6.Checked) status = arr[5]; if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { DirectoryInfo d = new DirectoryInfo(folderBrowserDialog1.SelectedPath); string selectedpath = d.Parent.FullName + d.Name; if (folderBrowserDialog1.SelectedPath.LastIndexOf(".{") == -1) { if (checkBox1.Checked) setpassword(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); textBox1.Text = folderBrowserDialog1.SelectedPath; pictureBox1.Image = Image.FromFile(Application.StartupPath + "\\lock.jpg"); } else { status = getstatus(status); bool s=checkpassword(); if (s) { File.Delete(folderBrowserDialog1.SelectedPath + "\\p.xml"); d.MoveTo(folderBrowserDialog1.SelectedPath.Substring(0, folderBrowserDialog1.SelectedPath.LastIndexOf("."))); textBox1.Text = folderBrowserDialog1.SelectedPath.Substring(0, folderBrowserDialog1.SelectedPath.LastIndexOf(".")); pictureBox1.Image = Image.FromFile(Application.StartupPath + "\\unlock.jpg"); } } } } private bool checkpassword() { XmlTextReader read; if(pathkey ==null) read = new XmlTextReader(folderBrowserDialog1.SelectedPath + "\\p.xml"); 28

else read = new XmlTextReader(pathkey + "\\p.xml"); if (read.ReadState == ReadState.Error) return true; else { try { while (read.Read()) if (read.NodeType == XmlNodeType.Text) { checkpassword c = new checkpassword(); c.pass = read.Value; if (c.ShowDialog() == DialogResult.OK) { read.Close(); return c.status; } } } catch { return true; } } read.Close(); return false; } private Boolean setpassword(string path) { password p = new password(); p.path = path; p.ShowDialog(); return true; } private string getstatus(string stat) { for (int i = 0; i < 6; i++) if (stat.LastIndexOf(arr[i]) != -1) stat = stat.Substring(stat.LastIndexOf(".")); return stat; } private void Form1_Load(object sender, EventArgs e) { if (this.pathkey != null) { DirectoryInfo d = new DirectoryInfo(pathkey); string selectedpath = d.Parent.FullName + d.Name; if (pathkey.LastIndexOf(".{") == -1) 29

{ textBox1.Text=pathkey; DialogResult r; r = MessageBox.Show("Do You want to set password ? ", "Question?", MessageBoxButtons.YesNo); if (r == DialogResult.Yes) { setpassword(pathkey); } status = arr[0]; if (!d.Root.Equals(d.Parent.FullName)) d.MoveTo(d.Parent.FullName + "\\" + d.Name + status); else d.MoveTo(d.Parent.FullName + d.Name + status); pictureBox1.Image = Image.FromFile(Application.StartupPath + "\\lock.jpg"); } else { status = getstatus(status); bool s=checkpassword(); if (s) { File.Delete(pathkey + "\\p.xml"); d.MoveTo(pathkey.Substring(0, pathkey.LastIndexOf("."))); textBox1.Text = pathkey.Substring(0, pathkey.LastIndexOf(".")); pictureBox1.Image = Image.FromFile(Application.StartupPath + "\\unlock.jpg"); } } } } } }

30

Form1.Designer namespace FolderProtection { partial class Form1 { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); this.textBox1 = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.radioButton6 = new System.Windows.Forms.RadioButton(); this.radioButton5 = new System.Windows.Forms.RadioButton(); this.radioButton4 = new System.Windows.Forms.RadioButton(); 31

this.radioButton3 = new System.Windows.Forms.RadioButton(); this.radioButton2 = new System.Windows.Forms.RadioButton(); this.radioButton1 = new System.Windows.Forms.RadioButton(); this.label2 = new System.Windows.Forms.Label(); this.checkBox1 = new System.Windows.Forms.CheckBox(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(116, 162); this.textBox1.Name = "textBox1"; this.textBox1.ReadOnly = true; this.textBox1.Size = new System.Drawing.Size(286, 20); this.textBox1.TabIndex = 0; // // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(12, 165); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(98, 13); this.label1.TabIndex = 1; this.label1.Text = "CHOOSE FOLDER"; // // button1 // this.button1.Location = new System.Drawing.Point(411, 161); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(36, 20); this.button1.TabIndex = 2; this.button1.Text = "..."; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // pictureBox1 // this.pictureBox1.Location = new System.Drawing.Point(494, 26); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new System.Drawing.Size(93, 101); this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox1.TabIndex = 3; this.pictureBox1.TabStop = false; // // groupBox1 // this.groupBox1.Controls.Add(this.radioButton6); this.groupBox1.Controls.Add(this.radioButton5); 32

this.groupBox1.Controls.Add(this.radioButton4); this.groupBox1.Controls.Add(this.radioButton3); this.groupBox1.Controls.Add(this.radioButton2); this.groupBox1.Controls.Add(this.radioButton1); this.groupBox1.Location = new System.Drawing.Point(15, 7); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(450, 148); this.groupBox1.TabIndex = 4; this.groupBox1.TabStop = false; this.groupBox1.Text = "Choose Options"; // // radioButton6 // this.radioButton6.AutoSize = true; this.radioButton6.Location = new System.Drawing.Point(199, 103); this.radioButton6.Name = "radioButton6"; this.radioButton6.Size = new System.Drawing.Size(81, 17); this.radioButton6.TabIndex = 5; this.radioButton6.TabStop = true; this.radioButton6.Text = "NETWORK"; this.radioButton6.UseVisualStyleBackColor = true; // // radioButton5 // this.radioButton5.AutoSize = true; this.radioButton5.Location = new System.Drawing.Point(51, 103); this.radioButton5.Name = "radioButton5"; this.radioButton5.Size = new System.Drawing.Size(134, 17); this.radioButton5.TabIndex = 4; this.radioButton5.TabStop = true; this.radioButton5.Text = "HELP AND SUPPORT"; this.radioButton5.UseVisualStyleBackColor = true; // // radioButton4 // this.radioButton4.AutoSize = true; this.radioButton4.Location = new System.Drawing.Point(199, 56); this.radioButton4.Name = "radioButton4"; this.radioButton4.Size = new System.Drawing.Size(95, 17); this.radioButton4.TabIndex = 3; this.radioButton4.Text = "RECYCLE BIN"; this.radioButton4.UseVisualStyleBackColor = true; // // radioButton3 // this.radioButton3.AutoSize = true; this.radioButton3.Location = new System.Drawing.Point(51, 56); this.radioButton3.Name = "radioButton3"; this.radioButton3.Size = new System.Drawing.Size(109, 17); this.radioButton3.TabIndex = 2; 33

this.radioButton3.Text = "WEB BROWSER"; this.radioButton3.UseVisualStyleBackColor = true; // // radioButton2 // this.radioButton2.AutoSize = true; this.radioButton2.Location = new System.Drawing.Point(199, 19); this.radioButton2.Name = "radioButton2"; this.radioButton2.Size = new System.Drawing.Size(115, 17); this.radioButton2.TabIndex = 1; this.radioButton2.TabStop = true; this.radioButton2.Text = "CONTROL PANEL"; this.radioButton2.UseVisualStyleBackColor = true; // // radioButton1 // this.radioButton1.AutoSize = true; this.radioButton1.Checked = true; this.radioButton1.Location = new System.Drawing.Point(51, 19); this.radioButton1.Name = "radioButton1"; this.radioButton1.Size = new System.Drawing.Size(105, 17); this.radioButton1.TabIndex = 0; this.radioButton1.TabStop = true; this.radioButton1.Text = "WINDOW LOCK"; this.radioButton1.UseVisualStyleBackColor = true; // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(491, 9); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(96, 13); this.label2.TabIndex = 5; this.label2.Text = "FOLDER STATUS"; // // checkBox1 // this.checkBox1.AutoSize = true; this.checkBox1.Checked = true; this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked; this.checkBox1.Location = new System.Drawing.Point(494, 161); this.checkBox1.Name = "checkBox1"; this.checkBox1.Size = new System.Drawing.Size(91, 17); this.checkBox1.TabIndex = 6; this.checkBox1.Text = "Set Password"; this.checkBox1.UseVisualStyleBackColor = true; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 34

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(608, 196); this.Controls.Add(this.checkBox1); this.Controls.Add(this.label2); this.Controls.Add(this.groupBox1); this.Controls.Add(this.pictureBox1); this.Controls.Add(this.button1); this.Controls.Add(this.label1); this.Controls.Add(this.textBox1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.Name = "Form1"; this.Text = "UNIQUE FOLDER LOCK"; this.Load += new System.EventHandler(this.Form1_Load); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Label label1; private System.Windows.Forms.Button button1; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.RadioButton radioButton6; private System.Windows.Forms.RadioButton radioButton5; private System.Windows.Forms.RadioButton radioButton4; private System.Windows.Forms.RadioButton radioButton3; private System.Windows.Forms.RadioButton radioButton2; private System.Windows.Forms.RadioButton radioButton1; private System.Windows.Forms.Label label2; private System.Windows.Forms.CheckBox checkBox1; } }

35

Password using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Xml; namespace FolderProtection { public partial class password : Form { public string path; public password() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Equals(textBox2.Text)) { XmlDocument xmldoc = new XmlDocument(); XmlElement xmlelem; XmlNode xmlnode; XmlText xmltext; xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", ""); xmldoc.AppendChild(xmlnode); xmlelem = xmldoc.CreateElement("", "ROOT", ""); xmltext = xmldoc.CreateTextNode(textBox1.Text); xmlelem.AppendChild(xmltext); xmldoc.AppendChild(xmlelem); xmldoc.Save(path + "\\p.xml"); this.Close(); } else { MessageBox.Show("Two text do not match", "Error"); textBox1.Clear(); textBox2.Clear(); textBox1.Focus(); 36

} } } }

Password.Designer namespace FolderProtection { partial class password { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.label1 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox2 = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // label1 // 37

this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(12, 23); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(73, 13); this.label1.TabIndex = 0; this.label1.Text = "PASSWORD:"; // // textBox1 // this.textBox1.Location = new System.Drawing.Point(91, 23); this.textBox1.Name = "textBox1"; this.textBox1.PasswordChar = '*'; this.textBox1.Size = new System.Drawing.Size(200, 20); this.textBox1.TabIndex = 1; // // textBox2 // this.textBox2.Location = new System.Drawing.Point(91, 54); this.textBox2.Name = "textBox2"; this.textBox2.PasswordChar = '*'; this.textBox2.Size = new System.Drawing.Size(200, 20); this.textBox2.TabIndex = 3; // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(12, 54); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(62, 13); this.label2.TabIndex = 2; this.label2.Text = "RE-ENTER"; // // button1 // this.button1.Location = new System.Drawing.Point(91, 89); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(112, 30); this.button1.TabIndex = 4; this.button1.Text = "Submit"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // password // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(303, 147); this.ControlBox = false; this.Controls.Add(this.button1); this.Controls.Add(this.textBox2); 38

this.Controls.Add(this.label2); this.Controls.Add(this.textBox1); this.Controls.Add(this.label1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; this.Name = "password"; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "password"; this.TopMost = true; this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.TextBox textBox2; private System.Windows.Forms.Label label2; private System.Windows.Forms.Button button1; } } Program using System; using System.Collections.Generic; using System.Windows.Forms; namespace FolderProtection { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 f = new Form1(); if (args.Length > 0) f.pathkey = args[0]; Application.Run(f); } } } 39

4.2 Output Screen

40

41

42

43

CHAPTER - V 5. TESTING & IMPLEMENTATION


5.1 System Testing
System testing is the stage of implementation that is aimed at ensuring that the system works accurately and efficiently before live operation commences. Testing is the vital to the success of the system. System testing makes a logical assumption that if all parts of the system are correct, then the goal will be successfully achieved. A series of testing are done for the proposed system before the system is ready for the user acceptance testing.

The testing steps are


Unit testing Integration testing Validation Output testing User acceptance testing

44

Unit testing Unit testing focuses verification efforts of the smallest units of the software design the module. This is also known as module testing. The modules are tested separately. This testing was carried out during programming stage itself. In this testing each module is found to be working satisfactorily as regards to the expected output from the module.

Unit test focus on the verification affect on the smallest unit of the software design (module). In unit testing we use the control structures of the procedural design to derive test cases.

The local data structures are examined to ensure that the data stored temporarily maintains its integrity during all steps in the algorithm execution.

Boundary conditions are tested to ensure that the module operates properly at boundaries established to limit or restrict the processing. All independent paths through the control structures are exercised to ensure that the all statement in the module have been executed at least once.

The module interface is tested to ensure that information properly flows in to and out of the program until test. Finally all error-handling paths are tested.

Integration testing

45

Data can be lost across an interface; one module can have adverse efforts on another. Integration testing is a systematic testing for constructing the program structure, while at the same time conducting tests to uncover errors associated within the interface. The objective is to take unit tested modules and build a program structure. All the modules are combined and tested as a whole. Here correction is difficult because the vast expenses of the entire program complicate the isolation of causes.

Integration testing addresses the issues associate with the dual problems of verification and program construction. Integration testing is a systematic technique for constructing the program structures while of the same time conducting tests to uncover the errors associated with the interfacing. The objectives is take unit tested modules and build a program structure that has been dictated by design. The integration testing can be either top-down integration or bottom-up integration.

In top down integration, modules are integrated by moving down words through the control hierarchy. The modules subordinate to the main program module are incorporated into the structure either by the depth first or breadth first manner. In bottom-up integration the construction and testing begins of the lower level in the program structure, since the modules are integrated from the bottom-up processing required modules subordinates to given level is always available and the need for the stubs are eliminated.

Validation Testing

46

It is the culmination of integration testing, software is completely assembled as a package and interfacing errors have been uncovered. Validation testing provides the final assurance that the software meets all functional behavior and performance requirements the software once validated must be combined with other system elements.

After each validation test case has been conducted. On end of file the two possible conditions exist. They are i) The function or performance characteristics confirm to specification and are accepted. ii) A deviation from specification is uncovered and a deficiency list is created. The deviation or error discovered, as this stage is a project can rarely be corrected prior to scheduled completion. It is necessary to negotiate with the customer to establish a method form resolving deficiencies.

Objectives of testing: The rules that serve for testing are 1. Testing is a process of execution of a program with the intent of finding an error. 2. A good test case is the one that has high probability of finding 3. A successful test is the one that uncovers an undiscovered error.

47

5.2

System Implementation
The implementation is the final and important phase. It involves user training, system testing and successful running of the developed proposed system. The user tests the developed proposed system and changes are made according to their needs. The users are trained to operate the developed systems.

Implementation is the process of converting a new or revised system design into an operational one. It is the key stage in achieving a successful new system because, usually it involves a lot of upheaval in the user department. It must therefore be carefully planned and controlled. Apart from planning the two major tasks of preparing for implementation are education and training of users and testing of the system. Training has to be given to the user regarding the new system. Once the user has been trained, the system can be tested.

After the system is implemented successfully, training of the user is one of the most important tasks of the developer. For that purpose user manuals are prepared and handed over to the user to operate the developed system. Here the user is trained to operate the developed system. 48

CHAPTER - VI 6. CONCLUSION

Thus this project provides more security to the files and folders. In our day-to-day life we need everything faster and faster. Thus computer provides fastness to our life. Since the human mind expects more, we are in the need to create this project. But they are still more enhancements in this project in future.

For security purpose we have think more and more and give protection to the files and folders created by us, for the future usage.

49

BIBLIOGRAPHY

Steven Holzner, Visual Basic 6.0 Programming, the Dreamtech Press, 2002.

Michale J. Young, Mastering Visual Basic 6.0, BPB Publication, Second Edition, 1999 Peter Wrights, Beginning Visual Basic 6.0 Greg Perry, Teach yourself Visual Basic 6.0 in 21 days

50

You might also like