Więc zabierajmy się do rzeczy, jak to zrobić? Z pomocą przychodzą nam 4 funkcje:
- FindWindow - szuka okna o podanej nazwie i zwraca do niego uchwyt.
- SetWindowLong - ustawia atrybuty okna.
- GetWindowLong - pobiera atrybuty okna.
- SetLayeredWindowAttributes - ustawia właściwości przeźroczystości okna z włączona przeźroczystością.
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:
- Po prostu klikamy na niego 2 razy wyświetla się informacja wpisujemy dane i program ustawia nam przeźroczystość.
- Uruchamiamy go z 1 parametrem: liczbą od 0-255 oznaczającą poziom przezroczystości.
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: