HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Desktop.ini állományt kezelő komponens


Példaprogram letöltése

5119 bájt

A Windows Intéző mappáinál adott egy olyan lehetőség, hogy létrehozzunk bennük egy Desktop.ini nevű konfigurációs állományt, melybe a megfelelő módon megadott adatokkal egyedi tulajdonságokkal ruházhatjuk fel az adott mappát. Ilyen lehet például az, hogy egyedi ikont rendelünk hozzá.
Mellékelt példában készítünk egy DesktopIni nevű komponenst, mely képes arra, hogy egy tetszőleges Desktop.ini állományt kezeljen, így lehetőségünk nyílik programból ezen műveletek elvégzésére.

A mellékelt példaprogram megnyitása előtt a DesktopIni.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponens használatához a Folder nevű property-ben kell megadni a kezelendő mappát, majd az IconFile property-ben egy ikont tartalmazó állományt, mely lehet egy ICO állományt, de akár egy DLL, EXE is, melyben ikonok vannak. Ez utóbbi esetben az IconIndex property-t használva, megadhatjuk annak az ikonnak a sorszámát, melyet az adott állományból szeretnénk a mappához rendelni.
Az InfoTip property-ben megadott sztringgel tetszőleges súgó szöveget adhatunk meg az adott mappához.
A property beállítása után meghívjuk az Execute eljárást, mely elvégzi a Desktop.ini létrehozását a Folder-ben megadott mappába. A Desktop.ini nem más, mint egy INI állomány, így kezelésére egy TIniFile osztályt használunk fel.
procedure TDesktopIni.Execute;
begin
  ini:=TIniFile.Create(FFolder+'Desktop.ini');
  ini.WriteString('ExtShellFolderViews', 'Default', '{5984FFE0-28D4-11CF-AE66-08002B2E1262}' );
  ini.WriteString('ExtShellFolderViews', '{5984FFE0-28D4-11CF-AE66-08002B2E1262}', '{5984FFE0-28D4-11CF-AE66-08002B2E1262}' );
  ini.WriteString('{5984FFE0-28D4-11CF-AE66-08002B2E1262}','PersistMoniker','file://Folder.htt');
A létrehozás és a néhány alapérték beírása után következhet a property-kben megadott értékek beírása.
  ini.WriteString('.ShellClassInfo', 'IconFile', FIconFile);
  ini.WriteInteger('.ShellClassInfo', 'IconIndex', FIconIndex);
  ini.WriteString('.ShellClassInfo', 'InfoTip', FInfoTip);
  ini.Free;
Végül a Desktop.ini állomány attribútumát beállítjuk rendszer és rejtett attribútumúra.
  SetFileAttributes(PChar(FFolder+'Desktop.ini'), FILE_ATTRIBUTE_SYSTEM+FILE_ATTRIBUTE_HIDDEN);
end;
A komponens felhasználása ezek után már egyszerű: csak be kell állítanunk a szükséges property-ket az Execute hívása előtt.
procedure TForm1.Button1Click(Sender: TObject);
begin
  with DesktopIni1 do begin
    Folder:='c:\program files';
    IconFile:=ExtractFilePath(Application.ExeName)+'animare.ico';
    InfoTip:='http://www.SoftwareOnline.hu';
    Execute;
  end;
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 531. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |