Foarte des, programele se înregistrează cu autoloading. De ce este necesar? Da, în general, obiectivele sunt diferite. Uneori este necesar ca programul să fie încărcat cu sistemul de operare, de exemplu, ca organizator electronic. Sau dacă scrieți un troian sau un virus - poate fi de asemenea util. Obiectivele sunt diferite și de asemenea. Vom analiza cele mai populare moduri. În principiu, modul standard de pornire în Windows XP este registrul. Mai precis, tasta HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion / Run. Aici sunt prescrise majoritatea programelor. Înregistrați programul aici foarte simplu, se face astfel:
var Reg: TRegistry;
începe
Reg: = TRegIniFile.Create;
Reg.RootKey: = HKEY_LOCAL_MACHINE;
Reg.OpenKey ("Software", adevărat);
Reg.OpenKey ("Microsoft", adevărat);
Reg.OpenKey ("Windows", adevărat);
Reg.OpenKey ('CurrentVersion', true);
Reg.OpenKey ('Run', true);
Reg.WriteString ("Aici scriem ceva, de obicei numele programului", Application.ExeName);
Reg.CloseKey;
Reg.Free;
Codul este foarte simplu și nu ar trebui să cauzeze dificultăți dacă ați lucrat cu registrul. Apropo, nu uitați să adăugați la secțiunea utilizări modulul Registry pentru lucrul cu registrul. Apropo, nu este necesar să adăugați programul la Run, deoarece există RunOnce și RunOnceEx. Un alt articol Run este în cheia HKEY_CURRENT_USER. Ei bine, cred că totul este clar în registru, să luăm în considerare următoarea opțiune. Acesta este win.in. Este bine, dar faptul că nu fiecare utilizator știe sau știe acest lucru, dar încă nu arată, ceea ce înseamnă că vă puteți conduce programele murdare acolo. Un alt plus al win.in este compatibilitatea cu Windows 9x. Și acesta este un avantaj suplimentar. Pentru a începe, adăugați-l utilizează modulul inifiles sau proiectul pur și simplu nu se va compila. Ei bine, scrieți următorul cod:
var Win: TIniFile;
avertizați: șir;
începe
Câștigați: = TIniFile.Create ("Win.ini");
Win.ReadString ('windows', 'run', avertizează);
dacă avertizați<>Application.ExeName atunci
Win.WriteString ('windows', 'run', Application.ExeName);
Win.Free;
Acum voi explica ce se întâmplă aici. În secțiunea var, am declarat două variabile Win de tip TIniFile și avertizează asupra șirului de tip. În prima linie a codului (după cuvântul cheie început), deschidem fișierul. Apoi citiți parametrul de rulare al acestuia. Dacă șirul declarat nu este egal cu aplicația, atunci scriem cererea noastră în locul acestei linii. Eliberarea memoriei. După cum puteți vedea, totul este foarte simplu. În principiu, toate acestea, bineînțeles, sunt bune. Dar cum să dezinstalați programul de la pornire. Aici aveți nevoie doar de Win.WriteString ('windows', 'run', Application.ExeName); inserați linia pentru a elimina autorun Win.Delete ('windows', 'run', Application.ExeName); Iată sursa de eliminare de la autorun:
var Win: TIniFile;
avertizați: șir;
începe Win: = TIniFile.Create ("Win.ini");
Win.ReadString ('windows', 'run', avertizează);
if warn = Application.ExeName apoi Win.Delete ('windows', 'run', Application.ExeName);
Win.Free;
C, cred că totul ar trebui să fie clar. Asta-i tot ce am vrut să spun despre autoloading, și cred că e suficient pentru tine.