Mengganti Ikon Suatu Folder
| November 22, 2007 | Posted by Joko Rivai under Delphi |
Teraplikasi pada: Delphi 3 ke atas, Win 2000, XP, di atasnya.
Tampilan Icon Folder
Sebuah folder yang secara default memiliki ikon berwarna kuning. Tampilan default ini sangat bermanfaat untuk membedakan folder dari objek-objek lainnya. Namun saat Anda telah memiliki banyak folder, misalnya folder-folder koleksi album lagu, kemungkinnan Anda repot mencari Rod Steward di antara Inul Daratista, Iyeth Bustami dan Mandy Moore. Dalam kondisi seperti inilah manfaat ikon unik per folder jadi sangat membantu. Anggap Anda sudah mengganti icon folder Rod Stewart tadi dengan sebuah foto Rod Stewart yang telah dikonversi menjadi ikon. Sekali tatap saja Anda sudah menemukan folder Album Rod Stewart.
Sekarang, bagaimana mengganti ikon folder ini?
Dengan software-software yang ada saat ini, mengganti ikon folder jadi sangat mudah. Icon Packager dapat melakukannya dengan baik. Sayang Icon Packager mengganti ikon secara keseluruhan, tidak spesifik per folder. Folder Option yang ada di Win 2000 ke atas juga bisa, tapi tidak ada opsi batch (banyak folder sekaligus) dan juga tidak ada opsi rekursi, bila Anda ganti ikon satu folder, folder-folder di dalamnya dan di dalamnya lagi akan terganti ikonnya.
Anda mungkin sudah menemukan software di jagad Net yang bisa memenuhi kebutuhan ini. Tapi jujur saja, untuk saya peribadi, TANGAN SAYA GATAL UNTUK MEMBUATNYA SENDIRI, SELAGI KEKASIHKU DELPHI ADA DI SISIKU MENEMANI.Dengan menambahkan nama saya di caption form “Created by JokoRB”, alamat blog saya di kiri bawa form – dan apa lagi – dan ya, foto saya yang ganteng
di kotak About, bukankah akan lebih hebat dan memuaskan untuk dipake?
Untuk mengubahnya, kita tinggal modifikasi file Desktop.ini di folder yang akan diubah ikonnya, atau membuatnya jika belum ada. Isi file Desktop.ini untuk menangani ikon sebuah folder kira-kira seperti ini:
[.ShellClassInfo] IconFile=D:reevIconCNFNOT.ICO IconIndex=0Di mana IconFile menunjukkan file ikon yang akan digunakan, dan IconIndex menunjukkan urutan ikon dalam file ikon tersebut. Dengan menggunakan Method WriteString dan WriteInteger dari kelas TIniFile, semuanya jadi mudah, bukan?
Selanjutnya, tinggal kodenya di Delphi:
procedure TForm1.Button3Click(Sender: TObject);
var
folder, icon, desktop: String;
begin
folder:=Edit1.text;
icon:=edit2.text;
if not DirectoryExists(folder) then
begin
ShowMessage('Folder tidak ditemukan.');
Exit;
end;
icon:=Edit2.text;
if (not FileExists(icon))
or
(not (lowercase(ExtractFileExt(icon))='.ico')) then
begin
ShowMessage('File icon tidak valid.');
Exit;
end;
if folder[length(Folder)]<>'' then
Desktop:=Folder + 'Desktop.ini'
else
Desktop:=Folder + 'Desktop.ini';
if fileExists(Desktop) then DeleteFile(Desktop);
With TIniFile.Create(Desktop) do
begin
WriteString('.ShellClassInfo','IconFile',icon);
WriteInteger('.ShellClassInfo','IconIndex',0);
Free;
end;
SetFileAttributes(pchar(Desktop), 34);
SetFileAttributes(pchar(Folder), FILE_ATTRIBUTE_SYSTEM);
ShowMessage('Selesai.');
end;
Hanya itu? Ya, hanya ituScreen Shot

Folder Delph3i sebelum diganti ikonnya.

Proses penggantian ikon.

Folder Delph3i setelah diganti ikonnya.
Download
Download kode, EXE dan Screen Shot
(setelah download, ubah ekstensi ke .zip dan scan dulu sebelum dijalankan).
google_tag: jokorb, folder icon, delphi
Related Topic
Incoming search terms:
Comments
Powered by Facebook Comments









This is the default footer layout. You can easily add or remove columns in the footer.
untuk flashdisk apakah trik ini bisa dipakai? mengigat drive letternya bisa berubah-ubah
Tentu saja bisa. Asalkan file ikon yang akan dipakai dikopi dulu ke flashdisk tsb:
Silahkan ubah kode
Menjadi
Selamat mencoba!
waduh gw awam nich, bisa diurutin ga caranya, coz gw pusing amat harus mulai dari mana n gambarnya apa harus dirubah dulu jadi *.ico apa *.jpg bisa lngsung digunakan?
apa program delphi harus ada untuk bisa melakukan trik ini?cos gw ga punya programn n ga ada komputer cm flashdisk
thanks
Tentu saja harus *.ico, *.jpg kaga’ bisa.
Delphi hanya dipake untuk kompilasi saja. File EXE hasil kompilasi bisa dijalankan di semua Windows mulai 2000 ke atas, meskipun tanpa Delphi terinstall di sana.
Sebagai referensi, silahkan cek FolderCustmizer di sini.
Wah, ane juga baru bkin software kya gnian.. kok kita sama ya, bro..? Jgn2 qt dlunya kembar gantet..?
Visit me @ http://www.friendster.com/electricow
Bro, aq udah bkin desktop.ini kya’ yg ente ajarin, tp ikonna te2p kga brubah, knp y..?
Kbtulan ane jg bkin pke program ane ndiri, ntar ane kirimin lewat email aj gmn..? please check it out fer me, where’s the fault, ok..?
Sbg ilustrasi, ane pke sebuah form dmn ad memo1, ntar skrip desktop.ini nya ane append di situ, trus ane SaveToFile sbg desktop.ini di folder target, tapi te2p kga bisa jg, knp..? why..? Doushite..? Pdhl skripnya udh bnr..
Trus ane pke FolderCustomizer, lgsg bisa, pdhl skripnya sama.. emg salah dimana ya..?
Oia, bro,
aq mw bkin program yg bkalan berurusan sama registry, tp aq nggak tw caranya bwt bs nulis DWORD Value disitu..
Aq udh bs klo cm nulis string di registry, tp klo DWORD..? Rencananya bwt manipulasi registry gt.. dlu aq udh pernah bkin dgn manfaatin menu advanced options di internet explorer, klo gak di folder options dgn nambahin submenu baru di treeviewnya.. kali ini aq mw bkin yg bnr2 beda, tp gak tw cara nulis DWORD pake delphi ke registry..
Mohon wangsitnya, mbah.. wkwkwk =)
Oia, satu lagi,
Klo aq nulis string ke registry, gmn caranya biar aq bs ngubah nilai dari data (Deafult) di sebuah subkey..? Bwingung bgt dah..
Kya’na ane bkl sering2 mampir nih ksni, wuehehe.. =)
Salam kenal dari Crush_Station Corp.!
Oia, ane baru hr ini signup, bsk2 klo udh jadi qt sering2 discuss gt, ok..?
Bro, aq udah bkin desktop.ini kya’ yg ente ajarin, tp ikonna te2p kga brubah, knp y..?
Bro, pasti ada yang Anda lupa….
Doushite..? Pdhl skripnya udh bnr..
What the hell???
Download saja contoh saya yang saya berikan di atas dan silahkan ujicoba.
Trus ane pke FolderCustomizer, lgsg bisa, pdhl skripnya sama.. emg salah dimana ya..?
Seperti di atas, Anda pasti lupa sesuatu…
Aq udh bs klo cm nulis string di registry, tp klo DWORD..?
var r: Tregistry; ...... //kalau string pake r.WriteString(nama, value); r.WriteInteger('contohDword',NilaiDword); .....Klo aq nulis string ke registry, gmn caranya biar aq bs ngubah nilai dari data (Deafult) di sebuah subkey..? Bwingung bgt dah..
r.WriteString(nama, value); //nama dikosongkan untuk menulis nilai default //sebuah key, misalnya: r.WriteString('','Open With Notepad');Semoga membantu…
Hhehehehehehe..
Udah bisa.. =) Ternyata atributna diganti ya? Kesalahanq kmrn aq cm generate desktop.ini tanpa ganti atributnya, he2.. sankyuu
Oia, nanya lagi..
Gimana caranya convert dari TColor jadi format heksa 0xFFFFFF dengan FFFFFF adl kombinasi RGB dari ColorDialog..
Matur nuwun..
Sudah coba ubah ke hexa pake IntToHex()?
Semoga membantu
Please leave a comment here at my blog
http://narukami-lonewolf.blogspot.com
Wow, shoulda try it.
Btw, RexHex ap ResHex..?
Maksdudnya ResHex. Mas juga, udah tau nannya. Thx koreksinya
Bro, aq mw usul ni,
gmn klo dbuat posting ttg internal windows command?
Mslhna aq kdg2 bingung jg klo misalna mw munculin dialog “change shortcut icon”. Gmn?
Bpleh, tapi belum ada waktu ini. Nanti deh, saya banyak utang posting sama komentator nih. Kalau ada waktu ntra ta’ posting.
Izin Copy, Paste, Edit and Download….
Good…