niedziela, 20 grudnia 2009

Przeźroczysty pasek zadań na WinXP

Lubie jak chyba każdy upiększać swój system, a że jeszcze lubię programować to jak mogę coś zrobić sam to nie korzystam z programów innych. Gdy wpiszemy "przezroczysty pasek zadań" w google wyświetli się nam wiele stron opisujących jak to zrobić. By stworzyć sobie przeźroczysty pasek zadań możemy użyć wielu programów np. Style XP albo TranspApps, ja z nich nie korzystam bo nigdy nie wiem co one mi pakują do komputera czy jak je odinstaluje nie zostawia jakiś śmieci, albo czy nie będą zbytnio spowalniać mojego systemu. Sposób który ja opiszę polega na napisaniu programu który to za nas zrobi (jeśli cię to nie interesuje w paczce z kodem jest tez skompilowany programik). Materiał jaki powinniśmy znać by to wykonać to jakikolwiek język programowania np. C#, Assembler, Basic, Dephi, C albo C++ (ja będę posługiwał się C++) i podstawy WinApi.

Więc zabierajmy się do rzeczy, jak to zrobić? Z pomocą przychodzą nam 4 funkcje:
I co nam one dają? Wystarczy zauważyć, że pasek zadań to zwykłe okienko do którego mamy dostęp, znaleźć jego nazwę, zmienić atrybuty i ustawić przeźroczystość. Do znalezienia nazwy paska zadań posłużyłem się malutkim niewymagającym instalacji programikiem "Spy & Capture Utility" (raczej nie znajdziecie w google), ale ty możesz posłużyć się jakimś innym programikiem.
Nazwa okna paska zadań to "", a jego klasa to "Shell_TrayWnd" i to w zupełnosci wystarczy by uzyskać uchwyt paska zadań za pomocą funkcji FindWindow. Kolejnym krokiem jest dodanie do paska zadań atrybutu WS_EX_LAYERED do tego posłużymy się funkcjami SetWindowLong i GetWindowLong, najpierw pobieramy atrybuty paska, dodajemy do nich atrybut przeźroczystości i zapisujemy z powrotem do okna. Następnie za pomocą funkcji SetLayeredWindowAttributes ustawiamy poziom przeźroczystości i zadanie wykonane.

Za pomocą tych kilku kroków załóżmy, że mamy już napisany i skompilowany programik i teraz kolejna sprawa bo trzeba go zawsze uruchamiać bo po zresetowaniu komputera pasek nie pamięta swoich poprzednich ustawień, aby to zrobić po prostu najlepiej dodać skrót do niego do autostartu i gotowe.

Ja sobie napisałem taki programik można go pobrać tutaj tam jest też skompilowane i są wersje kodu programu dla kompilatora microsoft'u i gnu.

Programik ten możemy uruchomić na 2 sposoby:
  1. Po prostu klikamy na niego 2 razy wyświetla się informacja wpisujemy dane i program ustawia nam przeźroczystość.
  2. Uruchamiamy go z 1 parametrem: liczbą od 0-255 oznaczającą poziom przezroczystości.
Aby dodać programik do autostartu wklejamy go np. do Program Files, robimy sobie do niego skró,t który potem przenosimy do menu start i dalej autostart. Ten skrót powinien wyglądać tak:

gdzie to 200 to jest właśnie ten parametr po dodaniu tego skrótu do autostartu automatycznie za każdym uruchomieniem systemu będziemy mieli przeźroczysty pasek zadań.

Poniżej przykład w praktyce z parametrem przeźroczystości 150:


1 komentarz:

Cysiu pisze...

Fajne :D Przydałby się jeszcze screen końcowego efektu.

BTW zapraszam do mnie http://kz-blog.tk :]