Jump to content
zbeng

Registrii

Recommended Posts

Registrii

Registrii sunt fisiere in care se afla multe dintre setarile Windows-ului si ale anumitor programe. Spre exemplu, daca dorim ca My Computer sa se afiseze pe desktop, un key din registrii ia valoare 0 (false - adica sa nu afiseze pe desktop iconita) sau 1 (true - afiseaza pe desktop iconita).

Si in Visual Basic exista functii de modificare a registriilor si de scriere a unor noi key-uri. Pentru a scrie in registrii in Visual Basic este necesar un modul care trebuie adaugat la program. Un modul se adauga ca in exemplul urmator (exemplul este dat pentru Visual Basic 6.0 ):

Project(Alt+p) - Add Module(Alt+m) – Existing

si apoi selectati modulul care vreti sa fie adaugat. Va recomand sa folositi urmatorul modul:

ftp://cbmc.ro/samples/vb6/TBRegistry.bas

Ok, acum poate va intrebati cum scrieti in registrii. Ca sa va faceti o idee despre cum sunt structurati registrii si cum arata ei, intrati in CMD->regedit.

Daca va uitati un pic in modulul adaugat (si aveti cat de cat habar de Visual Basic) o sa vedeti ca pentru registrii din HKEY_CLASSES_ROOT se foloseste “codul”: &H80000000, pentru cei din HKEY_LOCAL_MACHINE se foloseste: &H80000002.

Acum sa vedem un exemplu concret:

RegWrite "SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", "myapp", "c:\myapp.exe", &H80000002

Acest mic rand de cod, scrie la startup programul C:\myapp.exe cu numele myapp. El scrie in registrul cu adresa:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\

Care este sintaxa de scriere in registrii? RegWrite “adresa registrului”, “altceva”, “altceva2”, &H8000000. Sa consideram un alt cod care scrie in registrii un nou status la Y!Messenger (Atentie! Daca scrie in registrii noul status, asta nu inseamna ca messenger-ul va afisa dupa scriere acel status; pentru aceasta este nevoie de un cod mai complicat pe care nu il voi prezenta in acest tutorial).

name = GetString(HKEY_CURRENT_USER, "Software\Yahoo\Pager", "Yahoo! user id")
Call SaveString(HKEY_CURRENT_USER, "Software\Yahoo\Pager\profiles\" + name + "\Custom Msgs", 1, status)

Codul acesta functioneaza doar daca aveti optiunea Remember ID&Password activate la messenger. Optiunea status (de la sfarsitului codului de mai sus) reprezinta statusul care doriti a fi scris in registrii (acesta poate fi introdus intr-un textbox sau definit inainte ca o variabila de tip string).

Acum sa analizam un pic functia RegRead. Sa consideram urmatorul exemplu:

MsgBox RegRead("SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", "Cmaudio", &H80000002)

Acest cod afiseaza data corespunzatoare key-ului Cmaudio din locatia de mai sus. Acum sa facem alt mic cod, care afiseaza URL pentru tutoriale specifice Y! Messenger:

MsgBox RegRead("Software\Yahoo\pager\YUrl", "Tutorials", &H80000001)

Acum sa vedem care a fost ultimul status pe care l-ati avut pe Y!Messenger. Folosim umatorul cod:

MsgBox RegRead("Software\Yahoo\pager\profiles\idultaudemess\Custom Msgs\", "1", &H80000001)

Tips&Tricks

Am sa va prezint cateva secvente de cod utile.

1) Urmatorul cod face invizibil programul (sau formul, dupa caz) si el, desi ruleaza, nu este present pe desktop (doar in Task Manager si Processes):

NumeForm.Hide

2) Acest cod face invizibila aplicatia si in Task Manager (in curand o sa public un cod care o sa faca aplicatia invizibila si in Processes):

App.TaskVisible = False

3) Codul acesta multiplica aplicatia intr-o locatie specificata de dumneavoastra, in exemplu am ales C:\Windows, cu numele server.exe

FileCopy App.EXEName & ".exe", "C:\Windows\server.exe"

Cam atat...enjoy ;)

Link to comment
Share on other sites

Deci nu imi vine sa cred ce imi vad ochii :o :O :o


[url]http://rstcenter.com/tutorialtxt.php?id=51[/url]

Ce e asta zbeng ? Cine este autor ? Zi mai tare... Cine ? Ca nu te aud ?


Autor: zbeng

Site: [url]http://rstcenter.com[/url]

Ohh, daa ! Tu esti normal ! Oops zbeng, ce scrie aici:


[url]http://rstcenter.com/index.php?pagina=tutoriale&selecteaza=tutorial&id=29[/url]

M-am enervat. Zbeng, scuza-ma tu esti autorul tuturor tutorialelor care au mai fost postate o data pe RST :roll:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...