Indítás Delphi (forrás) - szoftverek

Nagyon gyakran a program regisztrálja magát autostart. Miért is? Igen, általában a céljai eltérőek. Néha szükség van arra, hogy a program volt betöltve az operációs rendszer, mint például az elektronikus szervező. Vagy ha levelet trójai vagy egy vírus - ez is hasznos lehet. Célok és különböző módon is. Nézzük meg a legnépszerűbb módja. Elvileg a standard indítási folyamatot Windows XP az adatbázis. Beszéd az egyedi, a HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion / Run. Itt van, hogy a legtöbb program előírt. Itt regisztrálja a program nagyon egyszerű, ez történik az alábbiak szerint:

var Reg: TRegistry;
kezdődik
Reg: = TRegIniFile.Create;
Reg.RootKey: = HKEY_LOCAL_MACHINE;
Reg.OpenKey ( 'szoftver', true);
Reg.OpenKey (a továbbiakban: Microsoft, true);
Reg.OpenKey ( 'Windows', true);
Reg.OpenKey (CurrentVersion ', true);
Reg.OpenKey ( 'Futtatás', true);
Reg.WriteString ( 'Itt írunk valamit, általában a program nevét', Application.ExeName);
Reg.CloseKey;
Reg.Free;

A kód nagyon egyszerű, és nem okoz semmilyen nehézséget, ha dolgozott a registry. By the way, ne felejtsd el hozzáadni egy szakaszt használ Registry modul együttműködik a registry. By the way, nem feltétlenül add meg a Futtatás programot, mert még mindig RunOnce és RunOnceEx. Egy másik pont van jelen a Run kulcs HKEY_CURRENT_USER. Nos, azt hiszem, minden világos a registry, hogy ezt a lehetőséget. Ez win.in. Milyen jó is az, de mi a helyzet akkor, nem minden felhasználó tudja, vagy tudja, de nem néz, így nem tudja vezetni a piszkos programot. Másik előnye win.in teljesen kompatibilis a Windows 9x. És ez egy további előnye. Először is, adjunk hozzá egy modult a felhasználási inifiles, és nem csak a projekt nem fordul le. Nos, tudjuk írni a következő kódot:

var Win: TIniFile;
figyelmeztetnek: string;
kezdődik
Win: = TIniFile.Create ( 'Win.ini');
Win.ReadString ( 'ablakot', 'run', figyelmezteti);
ha figyelmeztetnek<>Application.ExeName majd
Win.WriteString ( 'ablakot', 'run', Application.ExeName);
Win.Free;

Most azt fogja magyarázni, hogy mi folyik itt. A var kijelentettük két változók, mint a Win TIniFile és figyelmeztesse a vonal típusát. Az első sor (a kulcsszó után kezdődik), akkor nyissa meg a fájlt. Ezután olvassa el paraméternek távon. Ha a vonal nyilvánították egyenetlen kijuttatás rögzítésre e vonal mentén az alkalmazás. Szabadít memóriát. Mint látható, ez nagyon egyszerű. Elvileg minden ez minden bizonnyal jó. De hogyan kell eltávolítani a programot indításkor. Ott csak szüksége helyett Win.WriteString vonal ( 'ablakot', 'run', Application.ExeName); sort beszúrni eltávolítás indítás Win.Delete ( 'ablakot', 'run', Application.ExeName); Itt látható a forrás eltávolítását induláskor:

var Win: TIniFile;
figyelmeztetnek: string;
kezdődik Win: = TIniFile.Create ( 'Win.ini');
Win.ReadString ( 'ablakot', 'run', figyelmezteti);
ha figyelmezteti = Application.ExeName majd Win.Delete ( 'ablakot', 'run', Application.ExeName);
Win.Free;

C kód, azt hiszem, mindent tisztának kell lennie. Ez minden, amit el akartam mondani a startup, és azt hiszem, hogy ez elég lenne az Ön számára.

Kapcsolódó cikkek