Aplicatia Ccleaner

General:

Ce sunt regiștrii?

Ce sunt fișierele temp?

Ce e cache-ul?

Ce e un serviciu?

Plus alți termeni folosiți la care mă mai gândesc și ii voi scrie aici.

Ce e un sistem de operare?(definitie Radulescu)

Ce e o clasa sau instantieire?(definitie Oprea)?

Ce e o clasa?

Ce e un obiect?

Ce e incapsulare

Etc etc Oprea.

Ce o functie?(definite Marinoiu)?

Ce e criptarea(definitie Cangea)?

Ce e fiabilitatea(definite Paraschiv)?

(sa scriu despre stergeri).

Aplicatia CCleaner

Una dintre marile probleme ale sistemului de operare Windows, în afară de infectarea cu viruși, sunt așa-zisele fișiere junk (fișiere nefolositoare) care pot reduce în mod semnificativ performanța. Cu toate acestea, efectuarea scanărilor și curățărilor periodice pot menține sistemul de operare în stare bună. Una dintre cele mai populare aplicații de acest tip este CCleaner.

CCleaner este un program utilitar dezvoltat de compania Piriform. Prima versiune a acestui program a fost lansată la data de 23 septembrie 2003.

Din numele său, se poate intui că CCleaner este folosit pentru a curăța sistemul.

CCleaner are o interfață simplă, destul de intuitivă pentru a permite oricărui tip de utilizator, fie avansat sau mai puțin avansat folosirea aplicației.

Are o dimensiune foarte mică și este conceput pentru calculatoarele care rulează Microsoft Windows.

Funcții principale ale CCleaner:

Principala funcție este de a curăța fișierele nedorite, care se acumulează în timp precum: fișiere temporare, log-urile diverselor aplicații, fișiere dump, etc.

Protejarea intimității: CCleaner protejează confidențialitatea utilizatorilor, reducând furtul de identitate online. Aceasta este realizata prin ștergerea istoricului de navigare, a parolelor accidental salvate, precum și a fișierelor rămase în urma navigării pe Internet.

Securitate: Curățarea definitivă a fișierelor, astfel încât fișierele șterse anterior vor fi șterse pentru totdeauna.

Stabilitate: Curățarea sistemului de regiștrii.

Eliberarea spațiului: Eliberarea spațiului de pe hard disk prin ștergerea fișierelor inutile.

Viteză: CCleaner poate curăța și fișierele care nu mai sunt necesare rămase în urma folosirii unor programe, economisind astfel spațiul de pe hard disk. Totodată, permite utilizatorilor dezinstalarea acestor programe, dar și dezactivarea pornirii lor automate.

Componente CCleaner:

Componenta Cleaner (Curățare) are următoarele sub-secțiuni:

Secțiunea Windows are rolul de a curăța diverse fișiere nefolositoare de pe disc precum: fișiere temporare, fișiere dump, istoricul de navigare Internet Explorer, etc.

Secțiunea Aplicații are rolul de a șterge istoricul de navigare sau parolele salvate ale browserelor Firefox, Google Chrome, Opera ,etc dar poate și elimina fișierele nefolositoare rămase în urma folosirii sau dezinstalării unor aplicații precum: Yahoo! Messenger, iTunes, Nero ,Team Viewer, etc

Fig. 1.1.1. Secțiunea Windows Fig. 1.1.2. Secțiunea Aplicații

Componenta Registry (Curățare Regiștrii) șterge regiștrii nefolosiți de aplicații, apăruți în urma dezinstalării sau actualizării unor programe.

Fig. 1.1.3. Componenta Curățare Regiștrii

Componenta Tools (Instrumente) are următoarele sub-secțiuni:

Secțiunea Uninstall (Dezinstalare Programe) are rolul de a dezinstala programele instalate.

Secțiunea Startup (Dezactivare Aplicații) are rolul de a dezactiva aplicațiile care pornesc odată cu sistemul de operare.

Secțiunea File Finder (Găsire Fișiere) are rolul de a găsi fișiere pe baza unor criterii, ca de exemplu: fișiere .png (imagini), fișiere .mp3 (muzică), etc.

Secțiunea System Restore (Restaurare Sistem) are rolul de a șterge fișierele de restaurare ale sistemului de operare. Aceste fișiere de restaurare se creează ori de câte ori un driver sau un program este instalat.

Secțiunea Drive Wiper (Ștergere Definitivă) are rolul de șterge definitiv fișierele, astfel încât fișierele șterse anterior vor fi șterse pentru totdeauna.

Fig. 1.1.4. Secțiunea Dezinstalare Programe Fig.1.1.5. Secțiunea Dezactivare Aplicații

Fig. 1.1.6. Secțiunea Găsire Fișiere Fig. 1.1.7. Secțiunea Restaurare Sistem

Fig. 1.1.8. Secțiunea Ștergere Definitivă

Componenta Settings (Setări) permite utilizatorilor accesul la setările aplicației ca de exemplu dezactivare/activarea actualizărilor automate ale aplicației, schimbarea limbii, închiderea aplicației după ce a terminat de curățat fișierele, etc.

Fig. 1.1.9. Componenta Setări

Dezavantajele aplicației CCleaner:

Principalul dezavantaj al aplicației CCleaner este că nu are posibilitatea de restaurare a fișierelor șterse. De exemplu, dacă din greșeală s-a șters istoricul de navigare al Firefox, acest fișier este pierdut pentru totdeauna.

Alt dezavantaj este curățarea regiștrilor. De cele mai multe ori, curățarea regiștrilor aduce mai multe probleme decât rezolvă, datorită modului în care sistemul de operare Windows manevrează regiștrii, programele care îndeplinesc funcții de curățare, nu pot ști exact dacă un registru poate fi șters fără a influența sistemul.

Prin dezavantaje se mai pot enumera: lipsa funcției de defragmentare și lipsa funcției de dezactivare a serviciilor.

1.2. Aplicația TuneUp Utilities:

AVG PC TuneUp, numit și TuneUp Utilities, este un program utilitar proiectat pentru a ajuta la gestionarea, întreținerea, optimizarea, configurarea și depanarea sistemului de operare Microsoft Windows. A fost dezvoltat de compania TuneUp Software GmbH, cu sediul în Darmstadt, Germania. În 2011, AVG Technologies a achiziționat TuneUp Software.

Prima versiune a programului, numit TuneUp 97, a fost lansat în 1997.De atunci, opt versiuni au fost lansate de-a lungul anilor, ultima versiune fiind TuneUp Utilities 2014.

TuneUp Utilities 2014 este format din 30 de componente diferite, care pot fi accesate din interiorul unui meniu central, numit TuneUp Start Center. Cele mai multe dintre aceste componente pot fi, de asemenea, lansate din meniul Start->All Programs->TuneUp Utilities.

Componente TuneUp Utilities 2014:

Componenta Live Optimization (Optimizare în timp real)

Secțiunea Întreținere cu un singur Click conține diverse instrumente de întreținere a sistemului de operare (curățarea fișierelor temporare, curățarea sistemului de regiștrii, etc).

Secțiunile Optimizare Performanța și Reparare Probleme oferă sfaturi pentru a identifica și remedia eventualele probleme ale sistemului de operare și pot crește performanța, prin dezactivarea efectelor vizuale inutile și prin dezactivarea sau eliminarea serviciilor și programelor neutilizate.

Secțiunea Optimizare Live are rolul de a îmbunătăți capacitatea de reacție a aplicațiilor prin modificarea priorităților de execuție.

Fig. 1.2.1. Secțiunea Întreținere cu un singur Click Fig. 1.2.2. Secțiunea Optimizare Live

Componenta Optimize (Optimizări sistem) are următoarele sub-secțiuni:

Secțiunea Programs Deactivator (Dezactivare Programe), care elimină programele din memoria RAM și previne în continuare executarea lor automată.

Secțiunea Defragmentare are rolul de a defragmenta hard disk-ul pentru a-i mări performanțele.

Secțiunea Curățarea sistemului de Regiștrii are rolul de a repara diverse probleme ale regiștrilor sau de a elimina regiștrii care nu mai sunt folosiți.

Secțiunea Dezactivare Aplicații are rolul de a dezactiva aplicațiile care pornesc automat cu sistemul de operare.

Fig. 1.2.3. Componenta Optimizări sistem

Componenta Cleanup (Curățare disc) are următoarele sub-secțiuni:

Secțiunea Junk Cleanup (Curățare fișiere nefolositoare) are rolul de a curăța diverse fișiere nefolositoare de pe disc precum: fișiere temporare, log-urile diverselor aplicații, fișiere dump, etc.

Secțiunea TuneUp Disk Space Explorer este o alternativă a Windows Explorer și permite utilizatorilor navigarea prin sistemul de directoare, precum și afișarea fișierelor care ocupă cel mai mult spațiu pe hard disk.

Secțiunea TuneUp Shredder (Ștergere Securizată) permite curățarea definitivă a fișierelor, astfel încât fișierele șterse anterior vor fi șterse pentru totdeauna.

Fig. 1.2.4. Componenta Curățare disc

Componenta Fix Problems (Reparare Probleme) are următoarele sub-secțiuni:

Secțiunea Problem Fix (Reparare Probleme) permite utilizatorilor să repare unele probleme ale sistemului de operare ca de exemplu: iconițe corupte ,dispariția My Computer și Recycle Bin.

Secțiunea TuneUp Disk Doctor care verifică integritatea fișierelor stocate pe hard disk și poate salva fișiere deteriorate. Mai poate repara, de asemenea și defecte fizice cunoscute sub numele de sectoare defecte.

Fig. 1.2.5. Componenta Reparare Probleme

Componenta Windows Customization (Personalizare Windows) are următoarele sub-secțiuni:

Secțiunea Modify Windows Settings (Control Sistem) permite accesul la unele dintre setările mai greu de accesat ale sistemului de operare.

Secțiunea TuneUp Styler (Personalizare Windows) permite personalizarea interfeței de utilizator prin schimbarea iconițelor.

Fig. 1.2.6. Componenta Personalizare Windows

Dezavantajele aplicației TuneUp Utilities:

Chiar dacă TuneUp Utilities optimizează sistemul de operare foarte bine, nu înseamnă că nu are și dezavantaje.

Dezavantajul major este prețul: acest program costă 60 de dolari pe an. Deoarece există și alte aplicații gratuite care îndeplinesc funcții asemănătoare (de exemplu CCleaner), acest lucru reprezintă un dezavantaj major.

Alt dezavantaj este curățarea regiștrilor. De cele mai multe ori, curățarea regiștrilor aduce mai multe probleme decât rezolvă, datorită modului în care sistemul de operare Windows manevrează regiștrii, programele care îndeplinesc funcții de curățare, nu pot ști exact dacă un registru poate fi șters fără a influența sistemul.

Un ultim dezavantaj este îngreunarea sistemului. Acest program rulează tot timpul în sistem, făcând diverse analize sistemului (schimbarea priorităților de execuție, ștergea fișierelor nefolositoare la un anumit interval de timp, defragmentarea partițiilor, etc), consumând aproximativ 150 MB RAM și 10% din puterea procesorului (acest lucru se poate observa în figurile 1.2.7 și 1.2.8).

Fig. 1.2.7. Sistemul fără TuneUp în execuție Fig. 1.2.8. Sistemul cu TuneUp în execuție

Capitolul 2.

IMPLEMENTAREA APLICAȚIEI

Pentru implementarea aplicației s-a folosit mediul de dezvoltare Visual Studio 2012. Aplicația a fost scrisă în limbajul de programe C#. Sistemul de operare utilizat este Windows 7 Ultimate.

Sistemul de calcul folosit pentru implementarea aplicației are următoarea configurație:

-Procesor: AMD Athlon 5400B, cu 2 nuclee tactate la frecvența de 2.8 GHz.

-Placa video: ATI Radeon 5770, 1 GB Video RAM.

Sistemul de calcul beneficiază de 2 GB memorie RAM DDR2, tactați la frecvența de 800 MHz, capacitatea hard disk-ului fiind de 320 GB.

2.1. Mediul de dezvoltare integrată Visual Studio

Microsoft Visual Studio este un mediu de dezvoltare integrat (IDE) creat de către Microsoft. Acesta este utilizat pentru a dezvolta aplicații pentru sistemul de operare Microsoft Windows, precum și site-uri web, aplicații web și servicii web. Visual Studio folosește platforme de dezvoltare de software Microsoft, cum ar fi Windows API, Windows Forms, Windows Store și Microsoft Silverlight.

De regulă, un mediu de dezvoltare integrat (IDE) reprezintă un singur program în care se desfășoară tot procesul de dezvoltare: editare, compilare, depanare, etc. [1]

Ca orice alt mediu de dezvoltare integrat, acesta include un editor de cod care acceptă evidențierea sintaxei și completarea automată a codului pentru variabile, funcții, metode, bucle și interogări. Sugestiile de completare automată apar într-o fereastră a editorului de cod, în apropierea cursorului de editare.

Visual Studio dispune de compilare în fundal (de asemenea, numită compilare incrementală). În timp ce codul este scris, Visual Studio compilează codul în fundal, în scopul de a oferi suport cu privire la sintaxă și erori de compilare, care sunt subliniate ondulat cu roșu . Avertismentele sunt subliniate cu verde. Compilarea în fundal nu generează cod executabil, deoarece necesită un compilator diferit.

Fig. 2.1.1. Mediul de dezvoltare integrat Visual Studio 2012

Visual Studio include un depanator (debugger).

Depanarea este procesul executării unui program pe date de test și corectarea eventualelor erori. [2]

Depanatorul se poate atașa, de asemenea, la procesele care rulează ca să monitorizeze și să depaneze aceste procese. În cazul în care codul sursă pentru procesul care rulează este disponibil, se afișează codul așa cum este rulat. În cazul în care codul sursă nu este disponibil, se poate deasasambla executabilul.

Depanatorul Visual Studio permite setarea unor puncte de întrerupere (care permit executarea să fie oprită temporar într-o anumită poziție) și timmere (care monitorizează valorile variabilelor în timp ce programul se execută). Puncte de întrerupere sunt condiționale, ceea ce înseamnă că se declanșează atunci când condiția este îndeplinită. Depanatorul mai permite editarea codului în timp ce programul se execută.

Visual Studio mai include și un designer, care este folosit pentru a construi aplicații care dispun de interfață grafică folosind Windows Forms.

Windows Forms este un tip de interfață grafică cu utilizatorul ,dezvoltat de către Microsoft care poate conține butoane, zone de text, label-uri (etichete), imagini, mesaje de dialog, etc.

Visual Studio acceptă următoarele limbaje: C++, Visual Basic și C#.

2.2 Limbajul C#

C# este un limbaj de programare declarativ orientat pe obiecte. Acesta a fost dezvoltat de Microsoft în cadrul inițiativei sale .NET și ulterior aprobat ca un standard de ECMA (ECMA-334) și ISO (ISO / IEC 23270: 2006). Este un limbaj de uz general simplu și modern. Versiunea cea mai recentă este C # 5.0, care a fost lansată la data de 15 august, 2012.

Cele mai importante caracteristici ale limbajului C# sunt:

Este un limbaj orientat pe obiecte.

Programarea orientată pe obiecte se concentrează pe definirea de obiecte care modelează problema ce trebuie rezolvată. [3]

Un obiect este o entitate care încorporează atât structuri de date (denumite atribute) cât și comportament (acțiuni). [4]

clasă este o categorie de obiecte similare, care definește mulțimea de atribute partajate de obiectele componente și comportamentele regăsite în fiecare din obiectele clasei. [5]

Limbajul C# permite lucrul cu clase și obiecte și respectă principiul încapsulării (principiul de a ascunde structura de date utilizată și de a furniza doar o interfață bine definită [6] ).

Concurență: Limbajul C# permite executarea mai multor secvențe de cod simultan.

Portabilitate: Portabilitatea reprezintă posibilitatea de folosire a produsului program pe alte sisteme de calcul, diferite de cel pe care a fost conceput. [7]

Meta-Programare: Este o parte integrată din limbajul C#. Meta-Programarea este folosită pentru a reduce numărul de linii de cod pentru o aplicație (deci se reduce timpul de dezvoltare).

Accesul la Memorie: Memoria ocupată de un program nu poate fi eliberată în mod explicit; în schimb, este în mod automat eliberată. Acest lucru ușurează munca programatorului, deoarece pierderile de memorie nu mai necesită intervenția programatorului pentru a fi reparate.

2.3. Realizarea aplicației Windows 7 Fix

Pentru a se realiza aplicația, este nevoie să se creeze un nou proiect în mediul de dezvoltare integrat Visual Studio 2012. Pentru a crea un nou proiect, este necesar să se apese pe butonul File, urmat de butonul New; după aceea se selectează limbajul Visual C# din fereastra de selecție, tipul aplicației este Windows Form Application; în final, după ce s-a ales numele proiectului se apasă pe butonul OK pentru a salva proiectul. După ce s-au parcurs acești pași, va fi creată o formă nouă, fără elemente.

Aplicația folosește implicit Net Framework 4.5. Pentru a schimba versiunea de Net Framework, se apasă pe butonul Project, urmat de butonul Project Properties. După apăsarea butonului Project Properties, va apărea un meniu de selecție; din meniul de selecție, în dreptul căsuței Target Framework se va alege Net Framework 3.5. După ce s-a apăsat butonul Ok, aplicația va folosi Net Framework 3.5. Versiunea de Net Framework a fost schimbată deoarece poate fi instalată și pe sisteme de operare mai vechi.

NET Framework constituie un nivel de abstractizare între aplicație și nucleulul sistemului de operare (sau alte programe), pentru a asigura portabilitatea codului. [8]

După ce acești pași au fost urmați cu succes, se adaugă formele.

Aplicația folosește 8 forme, fiecare formă conținând butoane, elemente de text, etichete (label-uri) și imagini. Fiecare formă îndeplinește funcții diferite.

Pentru a adăuga o nouă formă proiectului, se apasă pe butonul Project, urmat de butonul Add Windows Forms. Din fereastra de selecție se selectează Windows Form și se apasă butonul Add. Pentru adăuga alte forme ,se urmează acești pași, până când numărul total de forme adăugate este 8.

2.3.1. Realizarea Formei 1 – Meniul Principal

Această formă conține 8 butoane necesare deschiderii altor forme, precum și un buton pentru a lansa aplicația cu drepturi de administrator. Forma mai conține o etichetă (label) pentru a afișa un text, 9 pictureBox-uri pentru a afișa imagini, un textBox (zonă de text) pentru a se afișa dacă utilizatorul a rulat aplicația cu drepturi de administrator dar și o fereastră de informații (ToolTip) care oferă informații despre ce acțiuni îndeplinește un anumit buton.

Pentru a schimba înfățișarea formei, se poate adăuga o imagine de fundal, dar și o iconiță. Pentru a adăuga aceste elemente formei, se selectează forma, se apasă butonul Properties, urmat de butonul Icon pentru a selecta iconița dintr-un director aflat pe hard disk.

(Iconița folosită este descărcată de la adresa:

http://www.iconarchive.com/show/flat-halloween-icons-by-uiconstock/Halloween-Broom-Brush-2-icon.html ).

Pentru a schimba imaginea de fundal, se urmează pașii pentru schimbarea iconiței, doar că se apasă pe butonul BackgroundImage și se alege imaginea dorită.

(Imaginea folosită este descărcată de la adresa:

http://tympanus.net/Tutorials/CustomLoginFormStyling/index2.html )

Design-ul formei ”Meniul Principal” este prezentat în figura 2.3.1.1 .

Fig. 2.3.1.1. Meniul Principal

Pentru a adăuga un buton formei, din meniul ToolBox se selectează elementul Button și se adaugă formei. Același procedeu este folosit și pentru adăugarea unui label (etichetă), a unui Picture Box sau a unei ferestre de informații (ToolTip).

În continuare se prezintă modul de implementare a câtorva butoane din cadrul formei ”Meniul Principal” ,de exemplu butonul pentru lansarea aplicației ca administrator, butonul de ieșire din aplicație, butonul de intrare în modulul Firefox, etc.

Imediat cum este lansată aplicația în execuție, se verifică dacă utilizatorul a lansat aplicația cu drepturi de administrator. Pentru a realiza acest lucru, a fost creată o funcție numită DrepturiAdministrator.

Funcția are următorul cod:

private void DetectieAdministrator()

{

WindowsPrincipal Administrator = new WindowsPrincipal(WindowsIdentity.GetCurrent()); //verifică dacă există un administrator

bool DrepturiAdministrator = Administrator.IsInRole(WindowsBuiltInRole.Administrator); //verifică dacă utilizatorul curent are drepturi de administrator

textBox1.Text = DrepturiAdministrator ? "Rulați aplicația ca administrator" : "\r Nu ați rulat aplicația ca administrator \r\n Unele funcții ale aplicației nu vor funcționa dacă nu aveți drept de administrator \r\n Pentru a rula aplicația cu drepturi de administrator, apăsați pe butonul"; //afișează mesaj dacă aplicația este rulată/nu este rulată de un administrator

if (textBox1.Text == "\r Nu ați rulat aplicația ca administrator \r\n Unele funcții ale aplicației nu vor funcționa dacă nu aveți drept de administrator \r\n Pentru a rula aplicația cu drepturi de administrator, apăsați pe butonul") //dacă aplicația nu este rulată de un administrator

{

button5.Enabled = false; //dezactivează modulul Windows (opțiuni avansate)

textBox1.ForeColor = System.Drawing.Color.Red; //afișează textul din label cu font roșu

}

else if (textBox1.Text == "Rulați aplicația ca administrator") //dacă aplicația este rulată de un administrator

{

button3.Enabled = false; //dezactivează butonul pentru pornirea aplicației ca administrator

button5.Enabled = true; //activează modulul Windows (opțiuni avansate)

textBox1.ForeColor = System.Drawing.Color.Green; //afișează textul din label cu font verde

}

Funcția verifică dacă există un administrator; în cazul în care există, utilizatorul este informat că rulează aplicația ca administrator și butonul pentru lansarea aplicației ca administrator este dezactivat; în caz contrat, utilizatorul este informat ca aplicația nu este rulată ca administrator, funcționalitatea aplicației fiind influențată ,iar butonul pentru lansarea aplicației ca administrator este activat .In ambele cazuri, mesajul de atenționare este afișat în textbox-ul adăugat anterior formei.

Aplicația se poate folosi fără drepturi de administrator, dar unele funcții (dezactivarea serviciilor, dezactivarea aplicațiilor) nu vor funcționa deoarece aceste funcții necesită drepturi de administrator.

Pentru a lansa aplicația cu drepturi de administrator, s-a folosit următorul cod:

if (MessageBox.Show(" \r Chiar vreți să porniți aplicația cu drepturi de administrator? ", //afișează mesaj.

"Drepturi Administrator:", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, se va porni aplicația cu drepturi de administrator

{

LansareProces(Application.ExecutablePath); // se pornește aplicația cu drepturi de administrator

this.Close(); //închide aplicația care nu avea drepturi de administrator și pornește aplicația cu drepturi de administrator

}

Acest cod este apelat atunci când se apasă pe butonul ”Lansare Aplicație ca Administrator”. Utilizatorul este întrebat daca dorește lansarea aplicației ca administrator; dacă se apasă butonul Ok, aplicația va fi lansată ca administrator; în caz contrar, aplicația nu va fi lansată cu drepturi de administrator. Butonul este prezentat în figura 2.3.1.2 .

Fig. 2.3.1.2. Butonul ”Lansare Aplicație ca Administrator”

Pentru a intra în alta forma (in cadrul programului formele sunt denumite module), s-a folosit următorul cod:

string locatieFireFox = Environment.ExpandEnvironmentVariables("%AppData%\\Mozilla\\Firefox\\Profiles"); //în această variabilă este salvată locația unde FireFox este instalat

if (Directory.Exists(locatieFireFox)) //dacă acest director există, utilizatorul va fi redirecționat la modulul FireFox

{

Form2 Firefox = new Form2(); //creează o instanță pentru clasa Form2 (modulul Firefox)

Firefox.Show(); //deschide Form2 (modulul Firefox)

this.Hide(); //ascunde Form1 (Programul Principal)

}

else //dacă acest director nu există, va fi afișat un mesaj de eroare

{

MessageBox.Show(" \r Nu puteți folosi acest modul deoarece nu aveți FireFox instalat! ", //afișează mesaj.

"FireFox neinstalat!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Warning); //iconița mesajului;

}

Acest cod este apelat atunci când se apasă pe butonul ”Modulul Firefox”. Acest modul poate fi folosit doar dacă Firefox este instalat. Când se apasă butonul, se verifică dacă directorul unde este instalat Firefox există; în cazul în care acest director există, utilizatorul va fi redirecționat către modulul Firefox; dacă acest director nu există, va fi afișat un mesaj de eroare, iar utilizatorul va fi redirecționat către meniul principal. Butonul este prezentat în figura 2.3.1.3.

.

Fig. 2.3.1.3. Butonul ”Modulul Firefox”

Codul prezentat mai sus este folosit și pentru celelalte module, doar că se verifică alt director (de exemplu directorul unde Chrome este instalat), iar utilizatorul va fi redirecționat către alt modul, în funcție de butonul apăsat.

Pentru a ieși din aplicație s-a folosit următorul cod:

if (MessageBox.Show(" Chiar vreți să ieșiți din aplicație? ", //afișează mesaj.

"Ieșire?", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question ) //iconița mesajului

== DialogResult.OK ) //dacă se apasă OK, se va ieși din program

{

Application.Exit(); //se iese din program

}

Acest cod este apelat atunci când se apasă pe butonul ”Ieșire Aplicație”. Utilizatorul este întrebat dacă dorește sa iasă din aplicație; dacă se apasă butonul Ok, se va ieși din aplicație; în caz contrat utilizatorul va fi redirecționat către meniul principal al aplicației. Butonul este prezentat în figura 2.3.1.4.

Fig. 2.3.1.4. Butonul ”Ieșire Aplicație”

Ultimul pas care s-a făcut pentru realizarea acestei forme a fost adăugarea unei imagini label-ului (etichetei) de informații și schimbarea iconițelor butoanelor.

Pentru a schimba imaginea unei label, se dă click pe label, se apasă pe butonul Properties, urmat de butonul BackgroundImage și se alege imaginea dorită.

(Imaginea folosită este descărcată de la adresa:

http://fearhawk.deviantart.com/art/Ribbons-for-Rainmeter-252033494)

La fel se procedează și pentru schimbarea iconițelor butoanelor. Se dă click pe pictureBox-ul care corespunde fiecărui buton, se apasă pe butonul Properties, urmat de butonul Image și se alege imaginea dorită.

(Iconițele folosite au descărcate de la adresa: http://www.iconarchive.com)

Deoarece elementul pictureBox nu suportă fundalul transparent, s-a creat o funcție care va face ca fundalul să fie transparent.

private void PictureBoxTransparent(PictureBox imagine, Button buton)

{

var pozitie1 = this.PointToScreen(buton.Location); //în această variabilă este stocată poziția imaginii

pozitie1 = buton.PointToClient(pozitie1); //setează poziția imaginii

imagine.Parent = buton; //setează poziția imaginii în funcție de buton

imagine.Location = pozitie1; //setează poziția imaginii

imagine.BackColor = Color.Transparent; //setează fondul transparent al imagini

}

Această funcție aliniază o imagine în funcție de un buton (imaginea trebuie să aparțină butonului) și setează fundalul transparent al respectivei imagini. Pentru ca o imagine să aparțină unui buton, este nevoie ca imaginea să fie suprapusă butonului respectiv.

Restul funcțiilor folosite sunt prezentate în Anexe.

2.3.2. Realizarea Formei 2 – Modulul Windows

Această formă conține 20 de butoane care îndeplinesc anumite funcții (de exemplu ștergerea fișierelor temporare, dezactivarea unor servicii, etc). Forma mai conține un label (etichetă) pentru a afișa un text, 8 pictureBox-uri pentru a afișa imagini, 8 textBox-uri (în care se afișează fișierele temporare, starea unui serviciu – activat sau dezactivat, etc) dar și o fereastră de informații (ToolTip) care oferă informații despre ce acțiuni îndeplinește un anumit buton.

Design-ul formei ”Modulul Windows” este prezentat în figura 2.3.2.1 .

Fig. 2.3.2.1. Modulul Windows

Forma are imaginea de fundal schimbată, precum și iconița.

(Imaginea folosită este descărcată de la adresa:

http://tympanus.net/Tutorials/CustomLoginFormStyling/index2.html )

(Iconița folosită este descărcată de la adresa:

http://www.iconarchive.com/show/simply-styled-icons-by-dakirby309/OS-Windows-icon.html )

În continuare se prezintă modul de implementare a câtorva butoane din cadrul formei ”Modulul Windows ” ,de exemplu butonul pentru detecția componentelor sistemului de calcul, butonul pentru ștergerea fișierelor temporare, butonul pentru dezactivarea serviciului de căutare, butonul pentru detecția erorilor, etc.

Pentru a identifica numele procesorului, s-a utilizat următoarea funcție:

public static String NumeProcesor()

{

ManagementClass Procesor = new ManagementClass("Win32_Processor"); //detectează procesorul

ManagementObjectCollection TipProcesor = Procesor.GetInstances(); //instanțiază procesul de detecție

String NumeProcesor = String.Empty; //în această variabilă este stocat numele procesorului

foreach (ManagementObject p in TipProcesor) //parcurge lista de rezultate

{

NumeProcesor = p.Properties["Name"].Value.ToString(); //caută numele procesorului

break; //când s-a găsit un rezultat, se oprește căutarea

}

return NumeProcesor; //returnează numele procesorului

}

Funcția este apelată prin apăsarea butonului ”Afișează Informații despre PC”. Numele procesorul va fi afișat în textBox1, care a fost adăugat anterior formei. Butonul este prezentat în figura 2.3.2.2.

Fig. 2.3.2.2. Butonul ”Afișează Informații despre PC”

Pentru a apela funcția, se folosește următorul cod:

textBox1.Text += System.Environment.NewLine + "Procesorul este: " + NumeProcesor(); //afișează numele procesorului

Funcția prezentată mai sus, mai este folosită și pentru detecția altor componente (de exemplu numărul de nuclee al procesorului, memoria RAM, capacitatea hard disk-ului, etc), doar că se modifică variabila de căutare. De exemplu, pentru a detecta numărul de nuclee al procesorului, funcția se modifică în felul următor:

public static String NrNuclee()

{

ManagementClass Procesor = new ManagementClass("Win32_Processor"); //detectează procesorul

ManagementObjectCollection ProcesorID = Procesor.GetInstances(); //instanțiază procesul de detecție

String NrNuclee = String.Empty; //în această variabilă este stocat nr. de nuclee al procesorului

foreach (ManagementObject n in ProcesorID) //parcurge lista de rezultate

{

NrNuclee = n.Properties["NumberOfCores"].Value.ToString(); //caută nr. de nuclee

break; //când s-a găsit un rezultat, se oprește căutarea

}

return NrNuclee; //returnează nr. de nuclee

}

La fel ca și funcția pentru detecția numelui procesorului, funcția este apelată prin apăsarea butonului ”Afișează Informații despre PC”, iar rezultatul va fi afișat tot în textBox1. Funcția se apelează în felul următor:

textBox1.Text += System.Environment.NewLine + "Numărul de nuclee este: " + NrNuclee(); //afișează numărul de nuclee al procesorului

Pentru a afișa fișierele și directoarele temporare, s-a folosit următorul cod:

string locatieTemp = Path.GetTempPath(); //în această variabilă este salvată locația unde Windows stochează fișierele temporare

string[] tempf = Directory.GetFiles(locatieTemp, "*", SearchOption.AllDirectories); //în această variabilă sunt salvate fișierele temporare

string[] tempd = Directory.GetDirectories(locatieTemp, "*", SearchOption.AllDirectories); //în această variabilă sunt salvate directoarele temporare

textBox2.Text = ""; //golește informatia din textBox

//se afișează dimensiunea directorului Temp

long Temp = DimensiuneDirector(locatieTemp); //în această variabilă este stocată dimensiunea directorului Temp

textBox2.AppendText("Dimensiunea directorului Temp este: " + Temp.ToString() + " MB" + System.Environment.NewLine + System.Environment.NewLine); //afișează dimensiunea directorului Temp

foreach (string f in tempf) //se parcurg fișierele

{

textBox2.AppendText("Acest fișier va fi șters:" + System.Environment.NewLine + System.Environment.NewLine + f + System.Environment.NewLine + System.Environment.NewLine); //afișează fișierele temporare

}

foreach (string d in tempd) //se parcurge directoarele

{

textBox2.AppendText("Acest director va fi șters:" + System.Environment.NewLine + System.Environment.NewLine + d + System.Environment.NewLine + System.Environment.NewLine); //afișează directoarele temporare

}

Acest cod este apelat atunci când se apasă pe butonul ”Afișează fișierele temporare”. Se parcurg toate fișierele și directoare aflate în directorul Temp (acest director este folosit de sistemul de operare pentru a stoca fișierele și directoarele temporare); apoi fișierele și directoarele sunt afișate în textBox2, precum și dimensiunea finală a directorului Temp.

Butonul este prezentat în figura 2.3.2.3.

Fig. 2.3.2.3. Butonul ”Afișează fișierele temporare”

Pentru a determina dimensiunea unui director, a fost creată următoarea funcție:

static long DimensiuneDirector(string dir)

{

try //se incearcă determinarea dimensiunii unui director

{

string[] fisiere = Directory.GetFiles(dir, "*", SearchOption.AllDirectories); //în această variabilă sunt stocate toate fișierele directorului respectiv

long dimensiune = 0; //în această variabilă este stocată dimensiunea directorului

foreach (string f in fisiere) //se parcurg fișierele

{

FileInfo Info = new FileInfo(f); //în această variabilă sunt stocate informații despre fișierele directorului respectiv

dimensiune += Info.Length; //calculează dimensiunea directorului

}

dimensiune = dimensiune / (1024 * 1024); // 1 mega byte = 1024*1024 bytes

return dimensiune; //returnează dimensiunea directorului

}

catch //dacă directorul nu există

{

long dimensiune = 0; //dimensiunea este 0

return dimensiune; //returnează dimensiunea directorului

}

}

Aceasta funcție parcurge toate fișierele unui director; după ce au fost parcurse fișierele, rezultatul este reținut în variabila ”dimensiune”, rezultatul putând fi afișat ulterior într-un textBox sau label (etichetă).

Funcția poate fi apelată prin apăsarea unui buton:

DimensiuneDirector(numeDirector);

Variabila numeDirector conține adresa directorului rădăcină, adică directorul căruia i se va afișa dimensiunea.

Pentru a șterge lista fișierelor și directoarelor temporare, este folosit următorul cod

textBox2.Text = ""; //șterge lista fișierelor temporare

Acest cod este apelat atunci când se apasă pe butonul ”Șterge lista fișierele temporare”. Textul care era afișat în textBox2 este șters, astfel lista devine goală.

Pentru a șterge fișierele și directoarele temporare, se folosește următorul cod:

string locatieTemp = Environment.ExpandEnvironmentVariables("%LOCALAPPDATA%\\Temp\\Temp.bat"); //in această variabilă este salvată locația unde Windows stochează scriptul pentru ștergerea fișierelor temporare

//se afișează un mesaj de confirmare dacă se dorește ștergerea fișierelor temporare

if (MessageBox.Show(" \r Chiar doriți să ștergeți fișierele temporare? ", //afișează mesaj

"Ștergere fișiere:", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, fișierele vor fi șterse

{

File.WriteAllText(locatieTemp, textBox4.Text); //salvează scriptului pentru ștergerea fișierelor temporare

Process StergeTemp = new Process(); //lansează un proces în execuție

StergeTemp.StartInfo.FileName = locatieTemp; //numele procesului care va fi lansat în execuție

//StergeTemp.StartInfo.Arguments = ""; //argumentul cu care va fi lansat procesul în execuție

StergeTemp.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //procesul va fi ascuns

StergeTemp.Start(); //pornește procesul

StergeTemp.WaitForExit(); //așteaptă ca procesul să își încheie activitatea

MessageBox.Show(" \r Fișierele temporare au fost șterse cu succes! ", //afișează mesaj

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

textBox2.Text = ""; //șterge lista fișierelor temporare

textBox2.Text = "Fișierele temporare au fost șterse cu succes!"; //afișează mesaj

//se afișează dimensiunea directorului Temp

long Temp = DimensiuneDirector(locatieTemp); //in această variabilă este stocată dimensiunea directorului Temp

textBox2.AppendText(System.Environment.NewLine + System.Environment.NewLine + "Dimensiunea directorului Temp este: " + Temp.ToString() + " MB"); //afișează dimensiunea directorului Temp

string TempDir = Path.GetTempPath(); //in această variabilă este salvată locația unde Windows stochează fișierele temporare

DirectoryInfo tempDir = Directory.CreateDirectory(TempDir); //recreează directorul folosit de Windows pentru a stoca fișierele temporare

}

Acest cod este apelat atunci când se apasă pe butonul ”Șterge fișierele temporare”. Utilizatorul este întrebat dacă dorește ștergerea fișierelor temporare; dacă se apasă butonul Ok, se va salva scriptul necesar pentru ștergerea fișierelor temporare, urmând apoi ștergerea acestor fișiere (dimensiunea directorului Temp va fi recalculată); în cazul în care se apasă butonul Cancel, utilizatorul va fi redirecționat la Modulul Windows.

Scriptul pentru ștergerea fișierelor temporare are următorul cod:

rd /s /q %temp% // șterge fișierele temporare

del /q %temp%\Temp.bat //șterge scriptul

Pentru a detecta erorile din sistem, s-a folosit codul următor:

Process ScanareErori = new Process(); //lansează un proces în execuție

ScanareErori.StartInfo.FileName = "cmd.exe"; //numele procesului care va fi lansat în execuție

ScanareErori.StartInfo.Arguments = @"/C wevtutil qe system ""/q:*[System [(Level=2)]]"" /f:text /rd:True > %Temp%\Error.txt"; //argumentul cu care va fi lansat procesul în execuție

ScanareErori.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //procesul va fi ascuns

ScanareErori.Start(); //pornește procesul

ScanareErori.WaitForExit(); //așteaptă ca procesul să își încheie activitatea

//se afișează un mesaj cand s-a terminat procesul de scanare al erorilor

MessageBox.Show("\r Scanarea s-a terminat cu succes! \r\n Acum apăsați pe butonul ''Afișare Erori'' pentru a vedea erorile!", //afișează mesaj

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

if (File.Exists(locatieErori) == true) //dacă fișierul există

{

button11.Enabled = true; //activează butonul pentru afișare erori

}

else //dacă fișierul nu există

{

button11.Enabled = false; //dezactivează butonul pentru afișare erori

}

Codul este apelat atunci când butonul ”Scanare Erori” este apăsat. Erorile sunt salvate în fișierul Error.txt, fișier care este salvat în directorul Temp. După ce fișierul este salvat, butonul pentru afișarea erorilor este activat. Dacă acest fișier nu există, butonul pentru afișarea erorilor este dezactivat.

Pentru a afișa erorile din sistem, este folosit următorul cod:

if (File.Exists(locatieErori) == true) //dacă fișierul există

{

textBox3.Text = ""; //golește informația din textBox

StreamReader objReader; //se începe procesul de citire

objReader = new StreamReader(locatieErori); //se instanțiază variabila

textBox3.Text = objReader.ReadToEnd(); //se citește fișierul

objReader.Close(); //se închide fișierul

}

else //dacă fișierul nu există

{

MessageBox.Show(" \r Apăsați întâi pe butonul ''Scanare Erori''! ", //afișează mesaj

"Eroare!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Warning); //iconița mesajului

}

Codul este apelat atunci când se apasă butonul ”Afișare Erori”. Dacă fișierul Error.txt există, erorile vor fi afișate în textBox3; dacă acest fișier nu există, va fi afișat un mesaj de eroare. Butonul este prezentat în figura 2.3.2.4.

Fig. 2.3.2.4. Butonul ”Afișare Erori”

Pentru a dezactiva un serviciu al sistemului de operare, se folosește următorul cod (serviciul dezactivat în exemplul următor este Windows Search [Căutare] ). Rolul acestui serviciu este prezentat în capitolul 3, pagina decompletat.

if (MessageBox.Show(" \r Chiar vreți să dezactivați serviciul Windows Search? ", //afișează mesaj.

"Dezactivare Windows Search:", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, se va dezactiva Windows Search

{

//funcție care dezactivează serviciul Windows Search

Process DezactivareWS = new Process(); //lansează un proces în execuție

DezactivareWS.StartInfo.FileName = "sc.exe"; //numele procesului care va fi lansat în execuție

DezactivareWS.StartInfo.Arguments = "config wsearch start= disabled"; //argumentul cu care va fi lansat procesul în execuție (Windows Search va fi dezactivat)

DezactivareWS.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //procesul va fi ascuns

DezactivareWS.Start(); //pornește procesul

DezactivareWS.WaitForExit(); //așteaptă ca procesul să își încheie activitatea

//funcție care oprește serviciul Windows Search

Process StopWS = new Process(); //lansează un proces în execuție

StopWS.StartInfo.FileName = "sc.exe"; //numele procesului care va fi lansat în execuție

StopWS.StartInfo.Arguments = "stop wsearch"; //argumentul cu care va fi lansat procesul în execuție (Windows Search va fi oprit)

StopWS.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //procesul va fi ascuns

StopWS.Start(); //pornește procesul

StopWS.WaitForExit(); //așteaptă ca procesul să își încheie activitatea

//după ce procesul și-a încheiat activitatea, afișează un mesaj

MessageBox.Show(" \r Ați dezactivat serviciul cu succes! \r\n Dacă doriți să reactivați serviciul \r\n apăsați pe butonul Activare Windows Search! ", //afișează mesaj.

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

}

var NumeServiciu = "wsearch"; //in această variabilă este reținut numele serviciului

var s = new ServiceController(NumeServiciu); //se instanțiază variabila

textBox7.Text = s.Status.ToString(); //afișează rezultatul în label 1

if (textBox7.Text == "Stopped") //dacă serviciul este pornit

{

textBox7.Text = "\r Serviciul Windows Search este dezactivat! \r\n Este recomandat ca să fie dezactivat!"; //afișează mesaj

textBox7.ForeColor = System.Drawing.Color.Green; //afișează mesajul cu font verde

button5.Enabled = false; //dezactivează butonul pentru Dezactivarea Windows Search

button6.Enabled = true; //activează butonul pentru Activarea Windows Search

}

else

{

textBox7.Text = "\r Serviciul Windows Search este activat! \r\n Este recomandat ca să fie dezactivat!"; //afișează mesaj

textBox7.ForeColor = System.Drawing.Color.Red; //afișează mesajul cu font roșu

button5.Enabled = true; //activează butonul pentru Dezactivarea Windows Search

button6.Enabled = false; //dezactivează butonul pentru Activarea Windows Search

}

Codul este apelat atunci când se apasă butonul ”Dezactivare Windows Search”. Atunci când se apasă butonul, utilizatorul va fi întrebat dacă dorește dezactivarea acestui serviciu; dacă se apasă butonul Ok, serviciul va fi dezactivat, iar textBox-ul folosit pentru a afișa starea serviciului va indica faptul că serviciul este dezactivat, iar butonul pentru dezactivarea serviciului respectiv va fi, de asemenea dezactivat (butonul pentru activarea serviciului va fi activat); în cazul în care butonul Cancel este apăsat, utilizatorul va fi redirecționat la Modul Windows. Butonul este prezentat în figura 2.3.2.5.

.

Fig. 2.3.2.5. Butonul ”Dezactivare Windows Search”

Pentru a reactiva acest serviciu, trebuie schimbat parametrul care activează serviciul; dacă pentru a dezactiva serviciul parametrul era disabled (dezactivat), parametrul care activează serviciul este enabled (activat).

ActivareWS.StartInfo.Arguments = "config wsearch start= auto"; //parametrul cu care va fi lansat procesul în execuție (Windows Search va fi activat)

De asemenea, după ce serviciul a fost activat, butonul pentru activarea serviciului va fi dezactivat (butonul pentru dezactivarea serviciului va fi activat), iar textBox-ul folosit pentru a afișa starea serviciului va indica faptul că serviciul este activat.

Aplicația poate dezactiva și anumite funcții ale sistemului de operare. De exemplu, pentru a dezactiva funcția de hibernare, se folosește următorul cod:

if (MessageBox.Show(" \r Chiar vreți să dezactivați Hibernarea? ", //afișează mesaj.

"Dezactivare Hibernare:", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, se va dezactiva hibernarea

{

//funcție care dezactivează hibernarea

Process DezactivareH = new Process(); //lansează un proces în execuție

DezactivareH.StartInfo.FileName = "powercfg.exe"; //numele procesului care va fi lansat în execuție

DezactivareH.StartInfo.Arguments = "-h off"; //argumentul cu care va fi lansat procesul în execuție (hibernarea va fi dezactivată)

DezactivareH.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //procesul va fi ascuns

DezactivareH.Start(); //pornește procesul

DezactivareH.WaitForExit(); //așteaptă ca procesul să își încheie activitatea

//după ce procesul și-a încheiat activitatea, afișează un mesaj

MessageBox.Show(" \r Ați dezactivat hibernarea cu succes! \r\n Dacă doriți să activați hibernarea \r\n apăsați pe butonul Activare Hibernare! ", //afișează mesaj.

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

string locatieHibernare = ("C:\\hiberfil.sys"); //in această variabilă este salvată locația unde se găsește fișierul de hibernare

if (File.Exists(locatieHibernare) == true) //dacă fișierul există

{

textBox8.Text = "\r Hibernarea este activată! \r\n Este recomandat ca să fie dezactivată!"; //afișează mesaj

textBox8.ForeColor = System.Drawing.Color.Red; //afișează mesajul cu font roșu

button12.Enabled = false; //activează butonul pentru Activarea Hibernării

button13.Enabled = true; //dezactivează butonul pentru Dezactivarea Hibernării

}

else //dacă fișierul nu există

{

textBox8.Text = "\r Hibernarea este dezactivată! \r\n Este recomandat ca să fie dezactivată!"; //afișează mesaj

textBox8.ForeColor = System.Drawing.Color.Green; //afișează mesajul cu font verde

button12.Enabled = true; //activează butonul pentru Activarea Hibernării

button13.Enabled = false; //dezactivează butonul pentru Dezactivarea Hibernării

}

Acest cod este apelat atunci când se apasă pe butonul ”Dezactivare Hibernare”. Atunci când se apasă butonul, utilizatorul va fi întrebat dacă dorește dezactivarea acestei funcții; dacă se apasă butonul Ok, funcția de hibernare va fi dezactivată, iar textBox-ul folosit pentru a afișa starea funcției de hibernare va indica faptul că funcția este dezactivata, iar butonul pentru dezactivarea funcției de hibernare va fi, de asemenea dezactivat (butonul pentru activarea hibernării va fi activat); în cazul în care butonul Cancel este apăsat, utilizatorul va fi redirecționat la Modul Windows. Rolul acestei funcții este prezentat în capitolul 3, pagina decompletat.

Ca și în cazul reactivării unui serviciu, pentru a reactiva hibernare este nevoie să se schimbe parametru, adică să se folosească parametrul de activare.

ActivareH.StartInfo.Arguments = "-h on"; //parametrul cu care va fi lansat procesul în execuție (hibernarea va fi activată)

Pentru a reactiva hibernarea, trebuie apăsat butonul ”Activare Hibernare”. Atunci când se apasă butonul și hibernarea este activată, butonul pentru activarea hibernării va fi dezactivat (butonul pentru dezactivarea hibernării va fi activat), iar textBox-ul folosit pentru a afișa starea funcție de hibernare va indica faptul că hibernarea este activată. Butonul este prezentat în figura 2.3.2.6.

Fig. 2.3.2.6. Butonul ”Activare Hibernare”

Pentru a șterge fișierele din coșul de reciclare se folosește următorul cod:

//se afișează un mesaj de confirmare dacă se dorește golirea Recycle Bin

if (MessageBox.Show(" \r Chiar doriți să goliți Recycle Bin? \r\n Asigurați-vă întâi ca nu ștergeți nimic important! ", //afișează mesaj.

"Golire Recycle Bin:", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, se va goli Recycle Bin

{

SHEmptyRecycleBin(IntPtr.Zero, null, StergeRecycleBin.SHERB_NOSOUND | StergeRecycleBin.SHERB_NOCONFIRMATION); //golește RecycleBin

MessageBox.Show(" \r Recycle Bin a fost golit cu succes! ", //afișează mesaj.

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

}

Pentru a șterge fișierele din coșul de reciclare, trebuie apăsat butonul ”Golește Recycle Bin”. Utilizatorul este întrebat dacă dorește ștergerea fișierelor; dacă se apasă butonul Ok, fișierele vor șterse, iar dacă se apasă butonul Cancel utilizatorul va fi redirecționat la Modul Windows.

Pentru a curăța clipboard-ul, s-a folosit următorul cod:

if (MessageBox.Show(" \r Chiar doriți să ștergeți ClipBoard-ul? ", //afișează mesaj.

"Ștergere ClipBoard", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, se va executa ștergerea fișierelor cache

{

Clipboard.Clear(); //șterge ClipBoard

MessageBox.Show(" \r ClipBoard-ul a fost șters cu succes! ", //afișează mesaj

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

}

Codul prezentat mai sus se execută atunci când butonul ”Șterge ClipBoard” este apăsat. Utilizatorul este întrebat dacă dorește curățarea clipboard-ului; dacă se apasă butonul OK, clipboard-ul este curățat, iar dacă se apasă butonul Cancel, utilizatorul va fi redirecționat la Modulul Windows. Butonul este prezentat în figura 2.3.2.7. Rolul clipboard-ului este prezentat în capitolul 3, pagina decompletat.

Fig. 2.3.2.7. Butonul ”Șterge ClipBoard”

Din cadrul acestui modul, utilizatorul poate accesa opțiunile avansate ale Modulului Windows, prin apăsarea butonului ”Opțiuni Avansate”, sau se poate întoarce la Meniul Principal, prin apăsarea butonului ”Înapoi” .

În final, pentru a se finaliza forma, s-au adăugat iconițe butoanelor și s-a schimbat fundalul label-ului (etichetei) de informații.

(Iconițele folosite au descărcate de la adresa:

http://www.iconarchive.com )

(Imaginea folosită este descărcată de la adresa:

http://fearhawk.deviantart.com/art/Ribbons-for-Rainmeter-252033494 )

Restul funcțiilor folosite sunt prezentate în Anexe.

2.3.3. Realizarea Formei 3 – Modulul Windows (Opțiuni Avansate)

Această formă conține 11 butoane care îndeplinesc anumite funcții (de exemplu dezactivarea pornirii automate a unor aplicații, defragmentarea hard disk-ului, etc). Forma mai conține un label (etichetă) pentru a afișa un text, 15 pictureBox-uri pentru a afișa imagini și o fereastră de informații (ToolTip) care oferă informații despre ce acțiuni îndeplinește un anumit buton.

Design-ul formei ”Modulul Windows (Opțiuni Avansate)” este prezentat în figura 2.3.3.1 .

Fig. 2.3.3.1. Modulul Windows (Opțiuni Avansate)

Forma are imaginea de fundal schimbată , precum și iconița.

(Imaginea folosită este descărcată de la adresa:

http://tympanus.net/Tutorials/CustomLoginFormStyling/index2.html )

(Iconița folosită este descărcată de la adresa:

http://www.softicons.com/system-icons/crystal-project-icons-by-everaldo-coelho/apps-advanced-settings-icon )

În continuare se prezintă modul de implementare a câtorva butoane din cadrul formei ”Modulul Windows – Opțiuni Avansate” ,de exemplu butonul pentru dezactivarea pornirii automate a aplicațiilor, butonul pentru defragmentarea hard disk-ului, butonul pentru repararea problemelor sistemului de actualizări, etc.

Pentru a dezactiva pornirea automată a aplicațiilor (astfel încât aplicațiile să nu mai pornească automat odată cu sistemul de operare) s-a folosit următorul cod:

I f (MessageBox.Show(" \r Chiar vreți să porniți MSConfig pentru a dezactiva \r\n unele aplicații care pornesc la start-up ? ", //afișează mesaj.

"Dezactivare aplicații:", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, se va porni MSConfig

{

Process DezactivarePrograme = new Process(); //lansează un proces în execuție

DezactivarePrograme.StartInfo.FileName = "msconfig.exe"; //numele procesului care va fi lansat în execuție

DezactivarePrograme.StartInfo.Arguments = "-4"; //argumentul cu care va fi lansat procesul în execuție (4 = MsConfig va porni în tab-ul StartUp)

DezactivarePrograme.Start(); //pornește procesul

this.Close(); //ascunde forma

DezactivarePrograme.WaitForExit(); //așteaptă ca procesul să își încheie activitatea

//după ce procesul și-a încheiat activitatea, afișează un mesaj

MessageBox.Show(" \r Dacă doriți să activați aplicațiile dezactivate sau să dezactivați \r\n noi aplicații, apăsați din nou pe butonul Dezactivare Aplicații! ", //afișează mesaj.

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

Form5 Avansat = new Form5(); //creează o instanță pentru clasa Form5 (Opțiuni avansate)

Avansat.Show(); //deschide Form5 (Opțiuni avansate)

}

Codul este apelat atunci când butonul ”Dezactivare Aplicații” este apăsat. Utilizatorul este întrebat dacă dorește dezactivarea aplicațiilor; dacă se apasă butonul OK, aplicația MSConfig (MSConfig este o aplicație nativă a sistemului de operare Windows, care poate dezactiva aplicații sau servicii care pornesc automat) va fi lansată, iar forma va fi ascunsă (după ce utilizatorul a ieșit din MSConfig, forma va fi reafișată); dacă se apasă butonul Cancel, utilizatorul va fi redirecționat la Modulul Windows (Opțiuni Avansate).

Butonul este prezentat în figura 2.3.3.2.

Fig. 2.3.3.2. Butonul ”Dezactivare Aplicații”

Pentru a afla mai multe informații despre dezactivarea aplicațiilor, trebuie apăsat butonul ”Informații dezactivare Aplicații”. Butonul este prezentat în figura 2.3.3.3. Atunci când este apăsat butonul, va fi afișată o imagine în care se explică modalitatea de dezactivare a aplicațiilor. Prin apăsarea acestui buton, se execută codul următor:

pictureBox3.Visible = !pictureBox3.Visible; //afișează/ascunde informații despre aplicații

pictureBox1.Visible = false; ; // ascunde informații despre servicii

pictureBox2.Visible = false; // ascunde informații despre defragmentare

pictureBox11.Visible = false; // ascunde informații despre servicii

Fig. 2.3.3.3. Butonul ”Informații dezactivare Aplicații”

Pentru a defragmenta hard disk se folosește un cod asemănător dezactivării aplicațiilor, doar că nu va fi lansată aplicația nativă MSConfig, ci va fi lansată aplicația nativă de defragmentare.

Defragmentare.StartInfo.FileName = "dfrgui.exe"; //numele procesului care va fi lansat în execuție

Aplicația pentru defragmentare este lansată în execuție prin apăsarea butonului ”Defragmentare Hard-Disk”. Utilizatorul este întrebat dacă dorește defragmentarea hard disk-ului; dacă se apasă butonul OK, aplicația pentru defragmentare va fi lansată, iar forma va fi ascunsă; dacă se apasă butonul Cancel, utilizatorul va fi redirecționat la Modulul Windows (Opțiuni Avansate). Butonul este prezentat în figura 2.3.3.4. Rolul defragmentării este prezentat în capitolul 3, pagina de completat.

Fig. 2.3.3.4. Butonul ”Defragmentare Hard-Disk”

Tot în cadrul acestui modul, utilizatorul poate repara și unele probleme ale sistemului de operare, ca de exemplu imposibilitatea de a realiza actualizări ale sistemului de operare (Windows Update nu mai funcționează) sau afișarea incorectă a iconițelor.

Pentru a repara problemele legate de sistemul de actualizări ale sistemului de operare (Windows Update) se folosește codul următor:

if (MessageBox.Show(" \r Chiar vreți să reparați problemele Windows Update? ", //afișează mesaj.

"Probleme Windows Update:", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, se va executa scriptul pentru repararea Windows Update

{

File.WriteAllText(WinUpdate, textBox1.Text); //salvează scriptului pentru Windows Update

Process WinUpdateFix = new Process(); //lansează un proces în execuție

WinUpdateFix.StartInfo.FileName = WinUpdate; //numele procesului care va fi lansat în execuție

//WinUpdateFix.StartInfo.Arguments = ""; //argumentul cu care va fi lansat procesul în execuție

WinUpdateFix.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //procesul va fi ascuns

WinUpdateFix.Start(); //pornește procesul

WinUpdateFix.WaitForExit(); //așteaptă ca procesul să își încheie activitatea

//după ce procesul și-a încheiat activitatea, afișează un mesaj

MessageBox.Show(" \r Windows Update a fost reparat cu succes! \r\n Incercați sa rulați Windows Update din nou! ", //afișează mesaj.

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

}

Pentru a se apela acest cod, trebuie apăsat butonul ”Reparare Windows Update”. Utilizatorul este întrebat dacă dorește repararea sistemului de actualizări ; dacă se apasă butonul Ok, scriptul pentru repararea sistemului de actualizări va fi salvat, apoi va fi executat; în cazul în care butonul Cancel este apăsat, utilizatorul va fi redirecționat la Modulul Windows (Opțiuni Avansate). Butonul este prezentat în figura 2.3.3.5. Problemele legate de sistemul de actualizări sunt prezentate în capitolul 3, pagina decompletat.

Fig. 2.3.3.5. Butonul ”Reparare Windows Update”

Scriptul are următorul cod:

net stop wuauserv //oprește serviciul pentru actualizări

rmdir %windir%\softwaredistribution /s /q // șterge directorul unde actualizările sunt salvate

regsvr32 /s wuaueng.dll //șterge fișierul

regsvr32 /s wuaueng1.dll //șterge fișierul

regsvr32 /s atl.dll //șterge fișierul

regsvr32 /s wups.dll //șterge fișierul

regsvr32 /s wups2.dll //șterge fișierul

regsvr32 /s wuweb.dll //șterge fișierul

regsvr32 /s wucltui.dll //șterge fișierul

net start wuauserv //pornește serviciul pentru actualizări

del /q %temp%\WinUpdate.bat //șterge scriptul pentru reparea actualizărilor

Codul prezentat mai sus pentru repararea sistemului de actualizări, poate fi refolosit și pentru repararea altor probleme ale sistemului de operare, ca de exemplu afișarea incorectă a iconițelor, doar că va fi lansat în execuție alt script, care va avea evident alt cod:

RegDelete"HKCU\Software\Classes\LocalSettings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /F //șterge iconițele salvate

taskkill /f /im explorer.exe //închide procesul Explorer.exe

start explorer.exe //deschide procesul Explorer.exe

del /q %temp%\Tray.bat //șterge scriptul folosit pentru reparea iconițelor

Scriptul este executat atunci când butonul ”Reparare Iconițe Tray” este apăsat. Utilizatorul este întrebat dacă dorește repararea iconițelor; în cazul în care butonul Ok este apăsat, iconițele vor fi reparate, iar dacă butonul Cancel este apăsat, utilizatorul va fi redirecționat la Modulul Windows (Opțiuni Avansate). Butonul este prezentat în figura 2.3.3.6. Problemele legate de afișarea incorectă a iconițelor sunt prezentate în capitolul 3, pagina decompletat.

Fig. 2.3.3.6. Butonul ”Reparare Iconițe Tray”

Scriptul este lansat în execuție, folosind următorul cod:

TrayFix.StartInfo.FileName = Tray.bat; //numele procesului care va fi lansat în execuție

Restul funcțiilor folosite sunt prezentate în Anexe.

2.3.4. Realizarea Formei 4 – Modulul Firefox

Pentru realizarea acestei forme s-au folosit 22 de butoane care realizează diferite funcții (de exemplu ștergerea istoricului de navigare, salvarea fișierului care conține istoricul de navigare, restaurarea istoricului de navigare, etc). Forma mai conține un label (etichetă) pentru a afișa un text, 5 textBox-uri (zone de text) pentru a afișa informații, 19 pictureBox-uri pentru a afișa imagini și o fereastră de informații (ToolTip) care oferă informații despre ce acțiuni îndeplinește un anumit buton.

Design-ul formei ”Modulul Firefox” este prezentat în figura 2.3.4.1 .

Fig. 2.3.4.1. Modulul Firefox

În continuare se prezintă modul de implementare a câtorva butoane din cadrul formei ”Modulul Windows” ,de exemplu butonul pentru ștergerea istoricului de navigare, butonul pentru restaurarea istoricului de navigare, butonul pentru ștergerea istoricului formelor, etc.

Pentru ștergerea istoricului de navigare (istoricul de navigare reține adresele site-urilor vizitate de-a lungul timpului), se folosește următorul cod :

try //se încearcă ștergerea fișierului

{

string[] profil = Directory.GetDirectories(locatieFireFox, "*default", SearchOption.AllDirectories); //in această variabilă este reținut numele profilului unde FireFox memorează istoricul de navigare

foreach (string d in profil) //se parcurge directorul

{

string[] istoric = Directory.GetFiles(d, "*places.sqlite", SearchOption.AllDirectories); //in această variabilă este reținut numele fișierului care conține istoricul de navigare

foreach (string f in istoric) //se parcurge fișierul

{

//se afișează un mesaj de confirmare dacă se dorește ștergerea istoricului

if (MessageBox.Show(" \r Chiar doriți să ștergeți istoricul de navigare? \n\r Este recomandat să faceți Backup! \n\r Pentru a face Backup, apăsați pe butonul de Backup! ", //afișează mesaj.

"Ștergere istoric:", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, se va executa ștergerea fișierului

{

File.Delete(f); //șterge istoricul

MessageBox.Show(" \r Istoricul de navigare a fost curățat cu succes! ", //afișează mesaj.

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

}

}

}

}

catch (IOException) //dacă fișierul este utilizat de către Firefox

{

//se afișează un mesaj de confirmare dacă se dorește ieșirea din FireFox

if (MessageBox.Show(" \r Istoricul de navigare nu poate fi șters dacă FireFox rulează! \n\r Pentru a închide FireFox, apăsați butonul OK! ", //afișează mesaj.

"Închide FireFox!", //titlul mesajului

MessageBoxButtons.OKCancel, //butonul care îl conține mesajul

MessageBoxIcon.Question) //iconița mesajului

== DialogResult.OK) //dacă se apasă OK, Firefox va fi închis

{

try //se încearcă închiderea procesului

{

InchideProces("FireFox"); //închide procesul

MessageBox.Show(" \r Firefox a fost închis cu succes! \n\r Pentru a șterge istoricul de navigare \n\r apăsați din nou pe butonul de Ștergere! ", //afișează mesaj.

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

}

catch //se așteaptă ca procesul sa se închidă

{

}

}

}

}

Codul este executat atunci când butonul ”Șterge Istoric” este apăsat. Utilizatorul este întrebat dacă dorește ștergerea istoricului; în cazul în care butonul Ok este apăsat, se va parcurge directorul unde Firefox salvează istoricul de navigare (directorul se numește .default și se găsește în directorul unde Firefox este instalat); dacă fișierul există, fișierul va fi șters (numele fișierului este places.sqlite); în cazul în care Firefox rulează, utilizatorul va fi întrebat dacă dorește închiderea Firefox; dacă Firefox este închis, fișierul va fi șters; în caz contrar, adică dacă se apasă butonul Cancel, utilizatorul va fi redirecționat la Modulul Firefox. Butonul este prezentat în figura 2.3.4.2.

Fig. 2.3.4.2. Butonul ”Șterge Istoric Firefox”

Codul folosit pentru ștergerea istoricului de navigare poate fi refolosit și pentru ștergerea parolelor salvate sau al istoricului formelor, doar că fișierele ce urmează a fi șterse au alt nume. De exemplu, istoricul formelor este salvat în fișierul formhistory.sqlite, parole salvate sunt reținute în fișierul logins.json ,etc.

Pentru a șterge istoricului formelor, codul pentru ștergerea istoricului de navigare este modificat astfel:

string[] form = Directory.GetFiles(d, "*formhistory.sqlite", SearchOption.AllDirectories); //in această variabilă este reținut numele fișierului care conține istoricul formelor

foreach (string f in form) //se parcurge fișierul

{

File.Delete(f); //șterge istoricul formelor

}

Dacă se dorește ștergerea parolelor salvate, codul va fi modificat în felul următor:

string[] parole = Directory.GetFiles(d, "*logins.json", SearchOption.AllDirectories); //in această variabilă este reținut numele fișierului care conține parolele salvate

foreach (string f in parole) //se parcurge fișierul

{

File.Delete(f); //șterge parolele salvate

}

În cadrul acestui modul, utilizatorul are posibilitatea de a realiza o copie de rezervă (un backup) al fișierelor importante ale browser-ului Firefox. De exemplu, pentru a se copia istoricul de navigare, se folosește următorul cod :

string FolderBackup = System.IO.Path.Combine(locatieFireFox, "Backup"); //in această variabilă este reținut numele folderului unde se va face back-up

Directory.CreateDirectory(FolderBackup); //creează folder-ul de back-up

try //se încearcă realizarea procesului de back-up

{

string[] profil = Directory.GetDirectories(locatieFireFox, "*default", SearchOption.AllDirectories); //in această variabilă este reținut numele profilului unde FireFox memorează istoricul de navigare

foreach (string d in profil) //se parcurge directorul

{

string[] istoric = Directory.GetFiles(d, "*places.sqlite", SearchOption.AllDirectories); //in această variabilă este reținut numele fișierului care conține istoricul de navigare

foreach (string f in istoric) //se parcurge fișierul

{

string numefisier = Path.GetFileName(f); //in această variabilă este reținut numele fișierului care va fi copiat (căruia i se va face back-up)

string backup = Path.Combine(locatieBackup, numefisier); //in această variabilă este reținută adresa unde se va face back-up

File.Copy(f, backup); //se copiază fișierul la adresa reținută

MessageBox.Show(" \r Istoricul de navigare a fost salvat cu succes! \n\r Pentru a restaura fișierul \n\r apăsați pe butonul de Restaurare Istoric! ", //afișează mesaj.

"Succes!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

}

}

}

catch (IOException) //atunci când nu se poate copia fișierul, sau fișierul este deja copiat

{

MessageBox.Show(" \r Ați făcut deja Back-up! \n\r Pentru a restaura fișierul \n\r apăsați pe butonul de Restaurare Istoric! ", //afișează mesaj.

"Back-up deja realizat!", //titlul mesajului

MessageBoxButtons.OK, //butonul care îl conține mesajul

MessageBoxIcon.Information); //iconița mesajului

}

Codul este apelat atunci când butonul ”Backup Istoric” este apăsat. Fișierul care conține istoricul de navigare este salvat în directorul Backup, director ce va fi creat în directorul unde Firefox este instalat. Textbox-ul folosit pentru a informa utilizatorul dacă are sau nu copie de rezervă pentru istoricul de navigare va indica prezența copiei de rezervă a istoricului de navigare. Butonul este prezentat în figura 2.3.4.3.

Fig. 2.3.4.3. Butonul ”Backup Istoric”

Codul pentru copierea istoricului de navigare poate fi refolosit și pentru copierea istoricului formelor sau a parolelor salvate. Ca și în cazul ștergerii acestor fișiere, singura modificare adusă codului este schimbarea numelui fișierului ce trebuie copiat.

De exemplu, pentru a se copia istoricul formelor (formele rețin diverse informații care au fost introduse, ca de exemplu căutările recente) codul pentru copiere este modificat astfel:

string[] form = Directory.GetFiles(d, "*formhistory.sqlite", SearchOption.AllDirectories); //in această variabilă este reținut numele fișierului care conține istoricul formelor

foreach (string f in form) //se parcurge fișierul

{

string numefisier = Path.GetFileName(f); //in această variabilă este reținut numele fișierului care va fi copiat (căruia i se va face back-up)

string backup = Path.Combine(locatieBackup, numefisier); //in această variabilă este reținută adresa unde se va face back-up

File.Copy(f, backup); //se copiază fișierul la adresa reținută

}

Funcția de restaurare al fișierelor copiate în directorul de Backup este asemănătoare funcției de copiere, doar că nu se mai copiază din directorul unde Firefox memorează aceste fișiere în directorul de Backup, ci se copiază din directorul de Backup în directorul unde Firefox memorează fișierele respective.

De exemplu, dacă se dorește restaurarea fișierului care conține parolele salvate, funcția de copiere este modificată astfel:

string[] profil = Directory.GetDirectories(locatieFireFox, "*default", SearchOption.AllDirectories); //in această variabilă este reținut numele folderului unde s-a făcut back-up

foreach (string d in profil) //se parcurge directorul

{

string[] parole = Directory.GetFiles(locatieBackup, "*logins.json", SearchOption.AllDirectories); //in această variabilă este reținut numele fișierului care conține parolele salvate

foreach (string f in parole) //se parcurge fișierul

{

string numefisier = Path.GetFileName(f); //in această variabilă este reținut numele fișierului care va fi restaurat

string backup = Path.Combine(d, numefisier); //in această variabilă este reținută adresa unde se va restaura fișierul

File.Copy(f, backup); //se copiază fișierul la adresa reținută

}

}

Același principiu este folosit și pentru restaurarea istoricului de navigare sau al istoricului formelor, doar că fișierele respective au nume diferite.

Pentru a șterge copiile de rezervă, funcția de ștergere este puțin modificată, adică nu se mai șterg fișierele din directorul unde Firefox memorează aceste fișiere, ci se șterg fișierele din directorul de Backup.

Pentru a șterge parolele salvate, funcția de ștergere este modificată astfel:

string[] parole = Directory.GetFiles(locatieBackup, "*logins.json", SearchOption.AllDirectories); //in această variabilă este reținut numele fișierului care conține backup-ul parolelor salvate

foreach (string f in parole) //se parcurge fișierul

{

File.Delete(f); //se șterge fișierul

}

Restul funcțiilor folosite sunt prezentate în Anexe.

În final, pentru realizarea formei, s-au adăugat iconițe butoanelor și s-a schimbat fundalul label-ului de informații.

(Iconițele folosite sunt descărcate de la adresa:

http://www.iconarchive.com)

(Imaginea folosită este descărcată de la adresa:

http://fearhawk.deviantart.com/art/Ribbons-for-Rainmeter-252033494)

2.3.5. Realizarea Formei 5 – Modulul Chrome

Această formă conține 22 de butoane care realizează diferite funcții (de exemplu ștergerea istoricului de navigare, salvarea fișierului care conține istoricul de navigare, restaurarea istoricului de navigare, etc). Forma mai conține un label (etichetă) pentru a afișa un text, 5 textBox-uri (zone de text) pentru a afișa informații, 19 pictureBox-uri pentru a afișa imagini și o fereastră de informații (ToolTip) care oferă informații despre ce acțiuni îndeplinește un anumit buton.

Fig. 2.3.5.1. Modulul Chrome

Metoda de realizare a acestei forme este asemănătoare metodei de realizare a formei Firefox, doar că locația fișierelor ce trebuie șterse sau copiate (de exemplu istoricul de navigare, istoricul formelor, etc) au altă locație și evident alt nume. Funcțiile de ștergere și copiere prezentate în cadrul modului Firefox sunt puțin modificate, adică se caută alte fișiere pentru a fi șterse sau copiate.

Toate aceste fișiere se găsesc în directorul Default; acest director se află în directorul unde Chrome este instalat.

De exemplu fișierul care salvează istoricul de navigare este reținut în fișierul History; parolele salvate sunt reținute în fișierul Login Data, iar istoricul formelor este reținut în fișierul Web Data .

Pentru a șterge parolele salvate, funcția de ștergere va fi modificată în felul următor:

string[] profil = Directory.GetDirectories(locatieChrome, "*Default", SearchOption.AllDirectories); //in această variabilă este reținut numele profilului unde Chrome memorează parolele salvate

foreach (string d in profil) //se parcurge directorul

{

string[] parole = Directory.GetFiles(d, "*Login Data", SearchOption.AllDirectories); //in această variabilă este reținut numele fișierului care conține parolele salvate

foreach (string f in parole) //se parcurge fișierul

{

File.Delete(f); //șterge parolele salvate

}

}

Restul funcțiilor folosite sunt prezentate în Anexe.

Forma are imaginea de fundal schimbată , precum și iconița.

(Imaginea folosită este descărcată de la adresa:

http://tympanus.net/Tutorials/CustomLoginFormStyling/index2.html )

(Iconița folosită este descărcată de la adresa:

http://www.iconarchive.com/show/browsers-icons-by-morcha/Chrome-icon.html

2.3.6. Realizarea Formei 6 – Modulul Internet Explorer

Metoda de realizare a acestei forme este asemănătoare metodei de realizare a formelor Firefox și Chrome, doar că se folosesc 17 butoane care realizează diferite funcții (de exemplu ștergerea istoricului de navigare , ștergerea parolelor salvate, etc). Forma mai conține un label (etichetă) pentru a afișa un text, 2 textBox-uri (zone de text) pentru a afișa informații, 17 pictureBox-uri pentru a afișa imagini și o fereastră de informații (ToolTip) care oferă informații despre ce acțiuni îndeplinește un anumit buton.

Design-ul formei ”Modulul Internet Explorer” este prezentat în figura 2.3.6.1 .

Fig. 2.3.6.1. Modulul Internet Explorer

Datorită modului în care Internet Explorer reține istoricul de navigare sau parolele salvate (sunt reținute fișiere cu nume aleatoare, pentru fiecare site vizitat sau parolă salvată există un astfel de fișier, nu se pot realiza copii de rezervă eficiente), formei îi lipsesc funcțiile de copiere și restaurare.

De exemplu, pentru a ștergere istoricul de navigare, funcția de ștergere a fost modificată în felul următor:

String locatieFisiere = Environment.ExpandEnvironmentVariables

("%LOCALAPPDATA%\\Microsoft\\Windows\\History"); //in această variabilă este salvată locația unde Internet Explorer memorează istoricul de navigare

{

StergeFisiere(locatieFisiere); //șterge istoricul de navigare

}

Restul funcțiilor folosite sunt prezentate în Anexe.

2.3.7. Realizarea Formei 7 – Modulul Aplicații

Metoda de realizare a acestei forme este asemănătoare metodei de realizare a formei Internet Explorer, adică forma conține doar funcții de ștergere. Formei conține 10 butoane care realizează diferite funcții (de exemplu ștergerea istoricului documentelor Word , ștergerea istoricului fișierelor multimedia ale aplicațiilor Windows Media Player, VLC, Winamp , etc). Forma mai conține un label (etichetă) pentru a afișa un text, 10 pictureBox-uri pentru a afișa imagini și o fereastră de informații (ToolTip) care oferă informații despre ce acțiuni îndeplinește un anumit buton.

Design-ul formei ”Modulul Aplicații” este prezentat în figura 2.3.7.1 .

Fig. 2.3.7.1. Modulul Aplicații

De exemplu, pentru a șterge istoricul Winamp, funcția de ștergere este modificată astfel:

string locatieWinamp = Environment.ExpandEnvironmentVariables("%AppData%\\Winamp"); //in această variabilă este salvată locația unde Winamp memorează istoricul

string istoricWinamp = Environment.ExpandEnvironmentVariables("%AppData%\\Winamp\\Winamp.m3u"); //in această variabilă este salvat istoricul Winamp

string istoricWinamp1 = Environment.ExpandEnvironmentVariables("%AppData%\\Winamp\\Winamp.m3u8"); //in această variabilă este salvat istoricul Winamp

{

File.Delete(istoricWinamp); //șterge istoricul

File.Delete(istoricWinamp1); //șterge istoricul

}

Funcția de ștergere prezentată mai sus este refolosită și pentru ștergerea fișierelor nefolositoare rămase în urma folosirii altor aplicații precum TeamViewer sau Yahoo Messenger.

Pentru că fișierele șterse în cadrul acestui modul sunt fișiere temporare rămase în urma folosirii diverselor aplicații, forma nu conține funcția de copiere sau restaurare.

Restul funcțiilor folosite sunt prezentate în Anexe.

2.3.8. Realizarea Formei 8 – ”Despre Aplicație”

Pentru realizarea acestei forme, s-au folosit 2 butoane și un pictureBox (unde este afișată o imagine care conține detalii despre aplicație).

Design-ul formei ”Informații despre aplicație” este prezentat în figura 2.3.8.1 .

Fig. 2.3.8.1. Informații despre aplicație

Prin apăsarea butonului Ok, utilizatorul va fi redirecționat către meniul principal, iar prin apăsarea butonul Ieșire se va ieși din aplicație.

Capitolul 3.

MANUALUL DE UTILIZARE AL APLICAȚIEI

Aplicația ”Windows 7 Fix” rulează nativ pe sistemul de operare Windows 7.

Există 3 modalități pentru a lansa în execuție aplicația (prezentate în figura 3.a):

Fig. 3.a. Modalități de lansare a aplicației

Prin lansarea în execuție a executabilului ”Detaliat.exe” se va lansa în execuție aplicația Windows 7 Fix, într-o formă detaliată, cu elemente grafice (iconițe pentru butoane, imagine de fundal ,etc). Forma detaliată este prezentată în figura 3.b.

Prin lansarea în execuție a executabilului ”Simplu.exe” se va lansa în execuție aplicația Windows 7 Fix, într-o formă simplă, fără elemente grafice (iconițe pentru butoane, imagine de fundal ,etc). Forma simplă este prezentată în figura 3.c.

Fig. 3.b. Formă detaliată a aplicației Windows 7 Fix Fig. 3.c. Formă simplă a aplicației Windows 7 Fix

Prin lansarea în execuție a executabilului ”Lansare Windows 7 Fix.exe” se va lansa în execuție o aplicație prin intermediul căreia se poate lansa în execuție atât forma detaliată, cât și forma simplă a aplicației. Aplicația este prezentată în figura 3.d.

Fig. 3.d. Lansare Windows 7 Fix

Ca funcționalitate, atât forma simplă cât și forma detaliată sunt identice. Singura diferență între cele 2 forme este legată de design. Utilizatorul, în funcție de preferințele, poate folosi forma detaliată (dacă dorește o aplicație care sa conțină iconițe pentru butoane și imagini de fundal) sau poate folosi forma simplă ( în cazul în care dorește o aplicație cu o interfață grafică simplă).

Atunci când aplicația este lansată în execuție, utilizatorul este informat daca rulează aplicația cu drepturi de administrator. Dacă nu rulează aplicația cu drepturi de administrator, unele funcții ale aplicației nu vor funcționa (ca de exemplu dezactivarea serviciilor, dezactivarea aplicațiilor, etc). Pentru a lansa aplicația cu drepturi de administrator, trebuie apăsat butonul ”Lansare Aplicație ca Administrator”.

Unele module nu vor funcționa dacă aplicațiile respective nu sunt instalate ( de exemplu modulele Firefox sau Chrome nu pot fi utilizate dacă aplicațiile nu sunt instalate).

Pentru a putea folosi un modul, utilizatorul trebuie să apese butonul care permite accesul la respectivul modul (de exemplu pentru modul Windows se apasă butonul ”Modulul Windows”, pentru modulul Internet Explorer se apasă butonul ”Modulul Internet Explorer” ș.a.m.d.

3.1. Utilizarea modulului Windows

În cadrul acestui modul, utilizatorul va putea șterge fișierele temporare, va putea vedea informații despre sistemul de calcul utilizat, va putea dezactiva unele servicii care îngreunează sistemul de operare, etc. Pentru a utiliza modulul Windows, utilizatorul trebuie să apese butonul ”Modulul Windows”, buton care se găsește în meniul principal al aplicației.

Modulul Windows este prezentat în figura 3.1.1.

Fig. 3.1.1. Modulul Windows

Imediat cum este lansat acest modul în execuție, utilizatorul va fi informat despre starea serviciului de căutare (dacă este activat sau dezactivat), despre starea serviciului de actualizări, despre starea funcției de hibernare (dacă hibernarea este oprită sau oprită), despre dimensiunea directorului Temp, etc.

În continuare, se vor prezenta principale funcții ale modului Windows, ca de exemplu ștergerea fișierelor temporare, dezactivarea funcției de hibernare, afișarea informațiilor despre sistemul de calcul, dezactivarea serviciului de căutare, afișarea erorilor din sistem, etc.

Pentru a vedea informații despre sistemul de calcul utilizat, trebuie apăsat butonul ”Afișează Informații despre PC” .Se vor afișa informații despre sistemul de operare utilizat, frecvența procesorului, numărul de nuclee, memoria RAM totală, modelul plăcii video, capacitatea hard disk-ului, etc. Butonul, precum și informațiile despre sistemul de calcul sunt prezentate în figura 3.1.2.

Fig. 3.1.2. Informații despre sistemul de calcul utilizat

Pentru a șterge fișiere temporare, trebuie apăsat butonul ”Șterge fișierele temporare”. Fișierele temporare sunt fișierele rămase pe hard-disk în urma utilizării/instalării unor programe (ele nu mai sunt folositoare și ocupă inutil spațiul pe hard disk). Aceste fișiere se găsesc în directorul Temp, aflat în următoarea locație de pe hard disk: C:\Users\X\AppData\Local\Temp , unde X=Numele utilizatorului curent. După cum se poate observa în figura 3.1.3, dimensiunea directorul Temp este de 85 MB, iar după ce a fost apăsat butonul, toate fișierele au fost șterse, dimensiunea directorului Temp fiind acum 0 MB (se poate observa în figura 3.1.4) .

Fig. 3.1.3. Dimensiunea Directorului Temp (85 MB) Fig. 3.1.4. Dimensiunea Directorului Temp (0 MB)

Pentru a vedea erorile din sistem, trebuie apăsat butonul ”Scanare Erori” urmat de butonul ”Afișare Erori”. Aceste erori sunt preluate din Event Viewer (un sistem de monitorizare implicit al sistemului de operare). Rolul acestor butoane este de a ușura citirea acestor erori, pentru nu a mai fi căutate manual prin Event Viewer. Aceste erori apar atunci când:

– un proces nu si-a închis corect activitatea

– o componenta hardware nu funcționează în parametrii normali

– un serviciu nu poate porni, etc.

Erorile rezultate în urma scanării sunt prezentate în figura 3.1.5.

Fig. 3.1.5. Erori ale sistemului de operare

Pentru a dezactiva serviciul Windows Search (Căutare), trebuie apăsat butonul ”Dezactivare Windows Search” ,iar dacă se dorește reactivarea acestui serviciu, trebuie apăsat butonul ”Activare Windows Search” . Serviciul Windows Search indexează toate fișierele de pe hard-disk pentru o căutare mai rapidă dar îngreunează mult viteza de procesare (este recomandat dezactivarea acestui serviciu). Serviciul Windows Search în starea dezactivat este prezentat în figura 3.1.6.

Notă: Prin dezactivarea acestui serviciu nu se va dezactiva și funcția de căutare.

Fig. 3.1.6. Serviciul Windows Search în starea dezactivat

Ca orice serviciu de operare modern, Windows 7 permite descărcarea de actualizări. Aceste actualizări pot îmbunătăți performanța sistemului, pot repara diverse erori, etc. Uneori, acest serviciu îngreunează sistemul de operare dar este recomandat totuși ca acest serviciu sa fie activat. Pentru a dezactiva serviciul de actualizări, trebuie apăsat butonul ”Dezactivare Windows Update”, ,iar dacă se dorește reactivarea acestui serviciu, trebuie apăsat butonul ”Activare Windows Update”. Serviciul Windows Update în starea dezactivat este prezentat în figura 3.1.7.

Notă: Prin dezactivarea acestui serviciu nu veți mai putea actualiza sistemul de operare!

Fig. 3.1.7. Serviciul Windows Search în starea dezactivat

Sistemul de operare Windows oferă utilizatorilor o alternativă la închiderea completă a calculatorului, și anume funcția de hibernare. Hibernarea este un mod alternativ de oprire a calculatorului, doar că sesiunea de lucru este păstrată. Sesiunea de lucru este salvată pe Hard Disk (chiar dacă calculatorul este scos din priză, sesiunea de lucru este păstrată). Timpul de pornire este mai scurt față de o pornire normală.

Marele dezavantaj îl reprezintă faptul că mărimea fișierului de hibernare este egal cu mărimea memoriei RAM: 2 GB RAM=2 GB fișier de hibernare, 4 GB RAM=4 GB fișier de hibernare ,etc.

Notă: Este recomandat să se dezactiveze Hibernarea și să se folosească funcția Standby(Repaus). Funcția Standby(Repaus) păstrează sesiunea de lucru este, calculatorul va porni instant, dar dacă este scos din priză, sesiunea de lucru nu va mai fi păstrată ,acest lucru fiind echivalent cu un restart\repornire).

Pentru a dezactiva hibernarea, trebuie apăsat butonul ”Dezactivare Hibernare”. Hibernarea poate fi reactivată prin apăsarea butonului ”Activare Hibernare”. Funcția de hibernare dezactivată este prezentată în figura 3.1.8.

Fig. 3.1.8. Funcția de hibernare dezactivată

În cazul în care utilizatorul utilizează un SSD (Solid State Drive), este recomandat activarea funcției Trim. Un Solid State Drive este un dispozitiv de stocare al datelor, asemănător hard disk-ului, dar cu performanțe mult mai mari datorită lipsei discurilor de stocare aflate în mișcare (SSD-ul folosește memorii Flash pentru a stoca datele, mult mai rapide decât un disc). Funcția Trim asigură funcționarea corectă și de durată a SSD-ului.

Notă: Activarea acestei funcții pentru hard disk-uri nu are efect, deci nu este nevoie ca să fie activată dacă în sistem nu este prezent un SSD.

Pentru a activa funcția Trim, trebuie apăsat butonul ”Activare funcție Trim”, iar pentru a activa funcția Trim, trebuie apăsat butonul ”Activare funcție Trim”. Funcția Trim activată este prezentată în figura 3.1.9.

Fig. 3.1.9. Funcția Trim activată

Tot în cadrul acestui modul, utilizatorul poate curăța conținutul coșului de reciclare (Recycle Bin), poate curăța ClipBoard-ul, poate șterge fișierele cache și fișierele .dmp. Toate aceste butoane sunt prezentate în figura 3.1.10.

Fig. 3.1.10. Butoanele ”Șterge Cache”, ”Șterge .dmp”, ”Golește Recycle Bin” și ”Șterge ClipBoard”

Pentru a șterge conținutul coșului de reciclare, trebuie apăsat butonul ”Golește Recycle Bin”.

Clipboard-ul se poate curăța prin apăsarea butonului ”Șterge ClipBoard”. Clipboard-ul este o zonă din memorie care poate stoca temporar un obiect sau o informație (un text, un fișier, o imagine, o secvență sonoră). [9]

Fișierele Cache se șterg prin apăsarea butonului ”Șterge Cache” . Cache-ul se acumulează atunci când:

este deschis un director care conține imagini

este deschis un director care conține fișiere audio

este deschis un director care conține fișiere video

este deschis un director cu conținut general

Practic acest cache reprezintă un rezumat al conținutului directorului respectiv. Dimensiunea acestui cache poate să ajungă și până la 2 GB.

Notă: După ștergerea cache-ului, timpul de deschidere al unui director va fi mai mare, dar la următoarea deschidere a respectivului director timpul de deschidere va fi normal.

Pentru a șterge fișierele .dmp, trebuie apăsat butonul ”Șterge .dmp”. Fișierele .dmp, numite și fișiere dump sunt create atunci când apare o eroare extrem de gravă în sistem. Sunt generate atunci când celebrul "ecran albastru" este afișat. Sunt folosite pentru o eventuală diagnosticare a erorii, dar se pot șterge fără a afecta sistemul de operare.

Notă: Dimensiunea acestui fișier este de obicei egală cu dimensiunea memoriei RAM.

Din cadrul acestui modul, utilizatorul se poate întoarce la meniul principal prin apăsarea butonului ”Înapoi” (prezentat în figura 3.1.11) sau poate accesa opțiunile avansate ale modului Windows prin apăsarea butonului ”Opțiuni Avansate” (prezentat în figura 3.1.12) .

Fig. 3.1.11. Butonul ”Înapoi” Fig. 3.1.12. Butonul ”Opțiuni Avansate”

3.2. Utilizarea modulului Windows – Opțiuni avansate

În cadrul acestui modul, utilizatorul va putea dezactiva aplicațiile care pornesc automat cu sistemul de operare ,va putea dezactiva unele servicii ale sistemului de operare, va putea defragmenta hard disk-ul, va putea rezolva unele probleme care duc la funcționarea incorectă a Windows Update sau a unor probleme care duc la afișarea incorectă a directoarelor sau iconițelor. Pentru a utiliza acest modul, utilizatorul trebuie să apese butonul ”Modulul Windows – Opțiuni Avansate”, buton care se găsește în meniul principal al aplicației dar și în cadrul modului Windows.

Modulul Windows – Opțiuni Avansate este prezentat în figura 3.2.1.

Fig. 3.2.1. Modulul Windows – Opțiuni Avansate

În continuare, se vor prezenta principale funcții ale modului Windows – Opțiuni Avansate, ca de exemplu dezactivarea aplicațiilor care pornesc automat, dezactivarea serviciilor, defragmentarea hard disk-ului, repararea diverselor probleme ale sistemului de operare, etc.

Aplicațiile care pornesc automat cu sistemul de operare se pot dezactiva prin apăsarea butonului ”Dezactivare Aplicații”. Majoritatea aplicațiilor care pornesc automat îngreunează sistemul de operare (este recomandat ca sa fie dezactivate toate aplicațiile nefolositoare, cu excepția aplicațiilor de tip antivirus. Acest buton este prezentat în figura 3.2.2.

Dacă utilizatorul dorește să afle mai multe informații despre dezactivarea aplicațiilor, este necesar să apese butonul ”Info dezactivare Aplicații”. Butonul este prezentat în figura 3.2.3.

Notă: Pentru a reactiva aplicațiile dezactivate sau pentru a dezactiva noi aplicații trebuie apăsat din nou butonul ”Dezactivare Aplicații”.

Fig. 3.2.2. Butonul ”Dezactivare Aplicații” Fig. 3.2.3. Butonul ”Info dezactivare Aplicații”

Pentru a defragmenta hard disk-ul, trebuie apăsat butonul ”Defragmentare Hard Disk”. Defragmentarea este utilă hard disk-urilor deoarece rearanjează fișierele în așa fel

încât ele pot fi accesate mai rapid de către hard disk, sporind astfel performanțele hard disk-ului. Butonul este prezentat în figura 3.2.4.

În cazul în care utilizatorul dorește să afle mai multe detalii despre utilizarea aplicației de defragmentare este necesar ca butonul ”Info utilizare defragmentare” să fie apăsat. Butonul este prezentat în figura 3.2.5.

Notă: Nu este recomandat să se defragmenteze un SSD, deoarece defragmentarea îi micșorează durata de viață (SSD-urile au un ciclu de citiri\scrieri limitat).

Fig. 3.2.4. Butonul ”Defragmentare Hard Disk” Fig. 3.2.5. Butonul ”Info utilizare defragmentare”

Pentru a dezactiva unele servicii nefolositoare ale sistemul de operare (aceste servicii îngreunează sistemul de operare), trebuie apăsat butonul ”Dezactivare Servicii”. Acest buton este prezentat în figura 3.2.6.

Pentru a afla mai multe informații despre dezactivarea serviciilor, utilizatorul poate apăsa butonul ”Info Dezactivare Servicii” (butonul este prezentat în figura 3.2.6), iar prin apăsarea butonului ”Listă Servicii” se va afișa o listă cu serviciile care pot fi dezactivate fără a influența funcționalitatea sistemului de operare (butonul este prezentat în figura 3.2.6).

Fig. 3.2.6. Butoanele ”Dezactivare Servicii, ”Info Dezactivare Servicii” și ”Listă Servicii”

Notă: Pentru a reactiva serviciile dezactivate sau pentru a dezactiva noi servicii trebuie apăsat din nou butonul ”Dezactivare Servicii”.

Tot în cadrul acestui modul, utilizatorul poate rezolva unele probleme legate de funcționarea incorectă a Windows Update (sistemului de actualizări) sau a unor probleme care duc la afișarea incorectă a directoarelor și iconițelor.

Pentru a rezolva problemele sistemului de actualizări, trebuie apăsat butonul ”Reparare Windows Update”. Butonul este prezentat în figura 3.2.7.

Acest buton repară unele probleme ale Windows Update cum ar fi:

încărcarea infinită

imposibilitatea de descărcare a actualizărilor

imposibilitatea de folosire a Windows Update

Notă: Nu este recomandat folosirea butonului dacă aceste probleme nu se există.

Fig. 3.2.7. Butonul ”Reparare Windows Update”

Problemele legate de afișarea incorectă a iconițelor se pot rezolva prin apăsarea butonului ”Reparare Iconițe Tray”. Zona Tray este acea zonă din taskbar (bară de activități) unde este afișat ceasul, data, precum și restul iconițelor din bara de activități. Butonul este prezentat în figura 3.2.8.

Fig. 3.2.8. Butonul ”Reparare Iconițe Tray”

Problemele constau în:

afișarea incorectă a iconițelor (atunci când 2 sau mai multe aplicații au aceiași iconiță)

sunt afișate foarte multe iconițe nefolosite

nu se reține ordinea de așezare a iconițelor

sunt afișate iconițe care nu mai sunt folosite

După cum se poate observa în figura 3.2.9 multe iconițe nu mai sunt folosite de către sistemul de operare. După ce butonul a fost apăsat, aceste iconițe au fost eliminate (fapt evidențiat în figura 3.2.10).

Fig. 3.2.9. Iconițe afișate incorect Fig. 3.2.10. Iconițe afișate corect

Pentru a repara problemele legate de afișarea incorectă a directoarelor, trebuie apăsat butonul ”Reparare Foldere”. Butonul este prezentat în figura 3.2.11. Prin apăsarea acestui buton, se vor repara următoarele probleme:

afișarea incorectă a conținutului unui director (fișiere audio recunoscute ca fișiere video)

afișarea incorectă a dimensiunii ferestrelor

afișarea incorectă a pictogramelor

Fig.3.2.11. Butonul ”Reparare Foldere”

Din cadrul acestui modul, utilizatorul se poate întoarce la meniul principal prin apăsarea butonului ”Înapoi” (prezentat în figura 3.1.12).

Fig.3.2.12. Butonul ”Înapoi”

3.3. Utilizarea modulului Aplicații

În cadrul acestui modul, utilizatorul va putea șterge fișierele temporare si istoricul unor aplicații, ca de exemplu: Microsoft Office, WordPad, Windows Media Player, VLC, Winamp, Yahoo Messenger, TeamViewer, etc.

Pentru a utiliza acest modul, utilizatorul trebuie să apese butonul ”Modulul Aplicații”, buton care se găsește în meniul principal al aplicației.

Modulul Aplicații este prezentat în figura 3.3.1.

Fig. 3.3.1. Modulul Aplicații

În general, cache-ul reprezintă fișierele rămase în urma folosirii unei aplicații, iar istoricul reprezintă o listă cu cele mai recente fișiere deschise (pot fi fișiere audio, video, documente, etc).

Pentru a șterge cache-ul Word trebuie apăsat butonul ”Șterge Cache Word”. Word este o aplicație care face parte din pachetul Microsoft Office si este folosită ca un editor avansat de text, iar dacă se dorește ștergea istoricului Office trebuie apăsat butonul ”Șterge Istoric Office”.

În cazul în care aplicația Office nu este instalată se poate șterge istoricul WordPad. WordPad este un editor de text care este instalat odată cu sistemul de operare. Pentru a șterge istoricul trebuie apăsat butonul ”Șterge Istoric WordPad”.

Toate aceste butoane sunt prezentate în figura 3.3.2.

Fig.3.3.2. Butoanele ”Șterge Cache Word”, ”Șterge Istoric Office” si ”Șterge Istoric WordPad”

Sistemul de operare Windows oferă utilizatorilor posibilitatea redării de conținut multimedia (fișiere audio si video) prin intermediul aplicației Windows Media Player. Istoricul Windows Media Player se poate șterge prin apăsarea butonului ”Șterge Istoric Media Player”. Dacă se utilizează si alte aplicații de acest tip (de exemplu Winamp sau VLC), istoricul poate fi șters prin apăsarea butonului ”Șterge Istoric Winamp” sau ”Șterge Istoric VLC”.

Toate aceste butoane sunt prezentate în figura 3.3.3.

Fig. 3.3.3. Butoanele ”Șterge Istoric Media Player”, ”Șterge Istoric Winamp” si ”Șterge Istoric VLC”

Notă: Pentru a putea șterge istoricul Winamp, respectiv VLC este nevoie ca aceste aplicații să fie instalate.

Dacă este utilizată o aplicație de tipul mesagerie instantă (chat în timp real) de exemplu Yahoo! Messenger, se poate șterge cache-ul acestei aplicații prin apăsarea butonului ”Șterge Cache Yahoo! Messenger”. Acest butonul este prezentat în figura 3.3.4.

Fig. 3.3.4. Butonul ”Șterge Cache Yahoo! Messenger”

Pentru a șterge istoricul celor mai recente conexiuni făcute cu Team Viewer, trebuie apăsat butonul ”Șterge Istoric Team Viewer”. Team Viewer este o aplicație folosită pentru controlul de la distanță (remote control) al unui calculator. Butonul este prezentat în figura 3.3.5.

Fig. 3.3.5. Butonul ”Șterge Istoric Team Viewer”

3.4. Utilizarea modului Browsere (Navigatoare Web)

Un browser (navigator web) este o aplicație care permite utilizatorilor să afișeze texte, grafică, video, muzică și alte informații localizate pe o pagină din World Wide Web.. Cele mai populare browsere sunt: Mozilla Firefox, Google Chrome si Internet Explorer.

Acest modul are în componență alte 3 submodule: modulul Firefox, modulul Google Chrome si modulul Internet Explorer. Ca funcționalitate, modulul Firefox si modul Google Chrome sunt identice. Modulului Internet Explorer ii lipește funcția de copie de rezervă (backup), datorită modului în care salvează istoricul, parolele, cookie-urile, etc.

Pentru a utiliza un modul din cadrul modului browsere, utilizatorul trebuie să apese unul din următoarele butoane: butonul ”Modulul Firefox”, butonul ”Modulul Internet Explorer” sau butonul ”Modul Google Chrome”, în funcție de browserul folosit.

Notă: Modulele Firefox si Google Chrome pot fi utilizate doar dacă aceste aplicații sunt instalate.

În continuare, se vor prezenta cele mai importante funcții din cadrul modului Firefox, ca de exemplu ștergerea fișierelor temporare (cache-ului), cookie-urilor, istoricului de navigare, parolelor salvate, etc. Modulul Firefox este prezentat în figura 3.4.1.

Fig. 3.4.1. Modulul Firefox

Imediat cum este lansat modulul Firefox în execuție, utilizatorul va fi informat daca există sau nu o copie de rezervă a următoarelor fișiere: istoricul de navigare, cookie-uri salvate, istoricul formelor si parolele salvate. Dacă copia de rezervă a acestor fișierele nu există, aplicația îi va recomanda utilizatorului să realizeze o copie de rezervă a respectivelor fișiere (fapt evidențiat în figura 3.4.2).

Fig.3.4.2. Copiile de rezervă nu există

Pentru a realiza o copie de rezervă a istoricului de navigare, cookie-urilor, parolelor salvate si istoricului formelor, trebuiesc apăsate butoanele prezentate în figura 3.4.3.

Fig. 3.4.3. Butoanele ”Backup Istoric”, ”Backup Cookies”, ”Backup Parole Salvate” și ”Backup Istoric Forme”

După ce butoanele din figura 3.4.3 au fost apăsate, aplicația va informa utilizatorul că aceste fișierele au copie de rezervă (fapt evidențiat în figura 3.4.4).

Fig.3.4.4. Copiile de rezervă există

Directorul unde copiile de rezervă sunt salvate, se găsește în următoarea locație: C:\Users\X\AppData\Roaming\Mozilla\Firefox\Profiles\Backup, unde X este numele utilizatorului curent. Pentru a deschide acest director, trebuie apăsat butonul ”Deschide Folder Backup” . Butonul, precum si directorul de backup sunt prezentate în figura 3.4.5.

Fig. 3.4.5. Butonul ”Deschide Folder Backup” si directorul de backup

Pentru a restaura copia de rezervă a istoricului de navigare, cookie-urilor, parolelor salvate si istoricului formelor, trebuiesc apăsate butoanele prezentate în figura 3.4.6.

Fig. 3.4.6. Butoanele ”Restaurare Backup Istoric”, ”Restaurare Backup Cookies”, ”Restaurare Backup Parole Salvate” și ”Restaurare Backup Istoric Forme”

În cazul în care se dorește ștergerea copiilor de rezervă, trebuiesc apăsate butoanele prezentate în figura 3.4.7

Fig. 3.4.7. Butoanele ”Șterge Backup Istoric”, ”Șterge Backup Cookies”, ”Șterge Backup Parole Salvate” și ”Șterge Backup Istoric Forme”

Istoricul de navigare reține adresele tuturor site-urilor care au fost vizitate de-a lungul timpului. Pentru a șterge istoricul de navigare, trebuie apăsat butonul ”Șterge Istoric”. Butonul este prezentat în figura 3.4.8.

Fig. 3.4.8. Butonul ”Șterge Istoric”

După cum se poate observa în figura 3.4.9, istoricul de navigare nu este șters, iar după ce butonul a fost apăsat istoricul de navigare este șters (fapt evidențiat în figura 3.4.10)

Fig. 3.4.9. Istoric de navigare neșters Fig. 3.4.10 Istoric de navigare șters

Cookie-urile rețin informația de logare (numele de utilizator și parolele) de pe site-urile vizitate de-a lungul timpului, precum si unele opțiuni legate de modul de afișare al site-urilor, reclame personalizate în funcție de căutări, etc. Pentru a șterge cookie-urile, trebuie apăsat butonul ”Șterge Cookies”. Butonul este prezentat în figura 3.4.11.

Fig. 3.4.11. Butonul ”Șterge Cookies”

În figura 3.4.12 cookie-urile nu au fost șterse (utilizatorul este încă logat în contul de student),iar după ce cookie-urile au fost șterse utilizatorul este delogat din contul de student (acest lucru se poate observa în figura 3.4.13).

Fig. 3.4.12. Cookie-uri neșterse Fig. 3.4.13. Cookie-uri șterse

Pentru a șterge parolele salvate trebuie apăsat butonul ”Șterge Parole Salvate”. Butonul este prezentat în figura 3.4.14.

Fig. 3.4.14. Butonul ”Șterge Parole Salvate”

Aceste parole sunt memorate în fișierul logins.json (sunt memorate toate parolele care au fost salvate). Chiar dacă parolele sunt encriptate, ele pot fi decriptate cu ajutorul unor programe (ca de exemplu programul PasswordFox).

Criptarea reprezintă conversia datelor dintr-un format ușor interpretabil de către oricine, într-un format dificil, sau chiar imposibil de interpretat de către o persoană (sau un sistem), dar ușor de interpretat de către persoanele autorizate. Operațiunea inversă de transformare a mesajului codificat în mesajul clar, original, pentru a putea fi interpretat se numește decriptare. [10]

Parolele pot fi văzute chiar din browserul Firefox, în secțiunea Options->Security->View Saved Passwords.

După cum se poate observa în figura 3.4.15, parolele chiar dacă sunt encriptate pot fi văzute cu aplicația PasswordFox, iar după ce butonul a fost apăsat parolele au fost șterse (fapt evidențiat în figura 3.4.16).

Fig. 3.4.15. Parole neșterse Fig. 3.4.16. Parole șterse

Bibliografie

[1] Răzvan Rughiniș, Răzvan Deaconescu, George Milescu și Mircea Bardac, "Introducere în sisteme de operare", Editura Printech, București, 2009, pagina 494

[2] Răzvan Andonie și Ilie Gârbacea, "Algoritmi Fundamentali. O Perspectivă C++" , Editura Libris, Cluj-Napoca, 1995, pagina 3

[3] Oprea Mihaela, "Programare orientată pe obiecte", Editura Universității Petrol-Gaze din Ploiești, Ploiești, 2004, pagina 34

[4] Oprea Mihaela, "Programare orientată pe obiecte", Editura Universității Petrol-Gaze din Ploiești, Ploiești, 2004, pagina 34

[5] Oprea Mihaela, "Programare orientată pe obiecte", Editura Universității Petrol-Gaze din Ploiești, Ploiești, 2004, pagina 34

[6] Oprea Mihaela, "Programare orientată pe obiecte", Editura Universității Petrol-Gaze din Ploiești, Ploiești, 2004, pagina 19

[7] Valeriu Lupu, "Algoritmi. Tehnici și limbaje de programare", Editura Universității "Ștefan cel Mare", Suceava, 2007, pagina 31

[8] Lucian Mircea Sasu "Introducere în limbajul C#", Editura Universității Transilvania din Brașov, Brașov, 2009, pagina 11

[9] Dumitru Dan Drăgoi, Carol Schnakovszky, Ionel Crinel Raveica și Bogdan – Ionuț Ganea "Utilizarea Calculatoarelor. Note de curs și aplicații ", Editura Universității din Bacău, Bacău, 2007, pagina 117

[10] Zoran Constantinescu și Gabriela Moise, "Criptarea Informației. Ghid Practic", Editura Universității Petrol-Gaze din Ploiești, Ploiești, 2013, pagina 12

Similar Posts