Wygaszacz ekranu (ang. screensaver) – program komputerowy, którego zadaniem jest zwiększenie czasu bezawaryjnej pracy monitora poprzez wyłączanie go lub wypełnianie nieustannie, często losowo, zmieniającymi się wzorami lub obrazami. Dzisiaj wygaszacze ekranu pełnią w głównej mierze funkcję rozrywkową.
W monitorach CRT obraz powstaje przez bombardowanie luminoforu wiązką elektronów. Podczas wyświetlania obrazu niektóre jego fragmenty (np. pasek startowy w systemie Microsoft Windows) pozostają wyświetlane cały czas tak samo, co w starszych modelach monitorów mogło trwale uszkodzić („wypalić”) luminofor w tych miejscach i doprowadzić do powstania tzw. „obrazów – duchów” – fragmenty te mogą pozostać widoczne, mimo że komputer już ich nie wyświetla.
Wygaszacz ekranu po określonym czasie, w którym użytkownik nie wykonał ruchu myszką, ani nie nacisnął żadnego klawisza na klawiaturze, może wyłączyć ekran lub kreślić różne krzywe, wyświetlać obrazy albo napisy lub w dowolny inny sposób wymuszać ciągłe odświeżanie ekranu. Zapobiega to wypalaniu się luminoforu. Dlatego angielska nazwa, w dosłownym tłumaczeniu, znaczy: ratownik ekranu.
Współczesne ekrany CRT są dużo mniej podatne na tego typu usterki. Ekrany LCD używane we wszystkich komputerach przenośnych i z coraz większą liczbą komputerów stacjonarnych są odporne na ten efekt. Używanie w tym przypadku wygaszacza ekranu zamiast wyłączania monitora tak naprawdę powoduje szybsze zaciemnienie ekranu.
Dodatkową funkcją wygaszaczy ekranu może być automatyczne zabezpieczanie hasłem stacji roboczej podczas braku aktywności (czyli prawdopodobnie nieobecności) użytkownika. Niektóre wygaszacze ekranu aktywują użyteczne funkcje, np. skanowanie dysku programem antywirusowym.
Działanie
Microsoft Windows
Jeśli system wykryje bezczynność trwającą dłużej niż czas określony w panelu sterowania, sprawdza, czy aktywny program jest zwykłym programem (a nie np. innym wygaszaczem), wysyłając tzw. „WM_SYSCOMMAND message” z argumentem „SC_SCREENSAVE”. Jeśli program wywoła w odpowiedzi standardową funkcję systemu (DefWindowProc), to zostaje uruchomiony zdefiniowany w panelu sterowania wygaszacz.
Sam wygaszacz jest zwykłym programem, tyle że zamiast standardowego rozszerzenia EXE posiada rozszerzenie SCR. Ponadto program ten powinien reagować inaczej w zależności od parametru, z jakim system go wywoła:
- /s – uruchamia wygaszacz
- /p (lub /l) – uruchamia podgląd wygaszacza; system przekazuje wtedy drugi parametr zawierający identyfikator (tzw. uchwyt) okienka, w którym ma się pojawić podgląd
- /c – uruchamia okienko konfiguracji wygaszacza
- /a – uruchamia okienko zmiany hasła; tu również system przekazuje drugi parametr.
Atari
Jako jedne z pierwszych wygaszacze ekranu pojawiły się w ośmiobitowych komputerach firmy Atari, wymuszając systemowo zmiany barw przy bezczynności komputera trwającej kilka minut (różne czasy w zależności od modelu), zapisane w systemowym ROMie komputera.