Ikonki folderów programów.

Lubię kiedy foldery w Program Files mają ikonki programów. Nie widziałem żeby ktokolwiek inny tak miał więc to chyba nie jest normalne 😛 W każdym razie często otwieram Program Files i własna ikonka każdego programu pozwala mi szybciej znajdować to czego szukam. Do tej pory zmieniałem je ręcznie co zajmowało dużo czasu i było bardzo nudnym zajęciem. Dziś wpadłem wreszcie na genialny pomysł – przecież jestem programista więc mogę sobie to zautomatyzować.Implementacja

Założenia są proste: folder posiadający własną ikonkę zawiera plik desktop.ini z odpowiednimi informacjami. Wygląda to mniej więcej tak:

[.ShellClassInfo]
IconFile=C:\Program Files\Synthesia.exe
IconIndex=0

Jest to prosty plik ini w którym zawierają się dwie istotne z naszego punktu widzenia informacje (o pozostałych można poczytać chociażby tu). IconFile to ścieżka do pliku z ikonką. Jak widać poza *.ico może to być exe lub dll – jeśli w zasobach programu znajdują się ikony (a jest tak praktycznie zawsze). IconIndex to numer ikonki – gdyż może być ich wiele w programie.

Sądziłem że to już koniec, ale okazuje się że nie. Plik desktop.ini musi posiadać atrybuty systemowy i ukryty. Ponadto folder zawierający ów plik również musi być oznaczony atrybutem systemowy.

I to w zasadzie wszystko. Napisany przeze mnie programik ustawia pierwszą ikonę jaką znajdzie na ikonę folderu więc czasem zdarza się że ikona deinstalatora nawinie się wcześniej, jest to jednak niewielka cena, ponadto można to poprawić ręcznie.

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s