Wygaszanie ekranu

tech • 315 słów • 2 minuty czytania

W starym kochanym laptopie był fajny i przydatny klawisz funkcyjny pod F7 służący do wyłączania/wygaszania ekranu LCD. W aktualnym sprzęcie rozkład klawiszy funkcyjnych trochę się zmienił i strasznie brakuje mi owej funkcji. Zamiast tego pojawił się skrót do menadżera kart bezprzewodowych, włączania/wyłączania Wi-Fi i Bluetooth.

Opisywana funkcjonalność bodajże sprzętowo wygaszała LCD, a po ponownym naciśnięciu zapalała. Namiastkę tej brakującej opcji można w bardzo prosty sposób rozwiązać programowo, tworząc np. skrót na pulpicie do szybkiego wyłączenia monitora.

Posiadacze systemu spod znaku pingwina znajdą co nieco informacji w notce Skrót wygaszający ekran. Właścicielom systemu ze stajni z Redmond może pomóc prosta aplikacja napisana w C# - Turn Off LCD, więcej informacji w notce Turn off your notebook LCD with one-click na blogu autora lub programik Turn Monitor Off.

Dla bardziej obeznanych w sztuce programowania polecam garść praktycznych informacji o dostępnych w WinAPI funkcjach dotyczących sterowania monitorem zamieszczonych w artykule Turn on/off monitor na CodeProject. Do tego artykułu załączono także skompilowaną, prostą, przykładową aplikację, którą można wykorzystać. Jest tylko 10 razy lżejsza od tej wersji w C# ;) Jej działanie jest bardzo proste, sprowadza się do wysłania odpowiedniego komunikatu.

W prezentowanych przykładach, komunikat zostaje wysłany do wszystkich top-levelowych okien, nie co lepszym rozwiązaniem byłoby pobranie uchwytu pulpitu za pomocą GetDesktopWindow i wysłanie ich właśnie do niego. Raymond Chen na swoim blogu napisał w notce Fumbling around in the dark and stumbling across the wrong solution dlaczego wysyłanie wiadomości broadcastowych jest złym pomysłem.

Swoją drogą można ciekawe informacje znaleźć na The Old New Thing ;)

Wszystkie te rozwiązania (nie wiem jak linuksowe) mają małą wadę. Mianowicie ekran zostaje wygaszony do czasu pierwszej aktywności usera, a w niektórych wypadkach, np. po podpięciu skrótu klawiszowego do aplikacji, chciałoby się włączać i wyłączać ekran tylko za pomocą tego “czerwonego” klawisza, niezależnie od innego wciśniętego klawisza czy poruszenia myszką. Może gdybym miał czas i znalazł jakieś sensowne rozwiązanie to coś bym zakodował ;)

Komentarze (2)

kwiateusz avatar
kwiateusz
20080730-174047-kwiateusz

po odpaleniu programiku i wyslaniu komunikatu o wygaszeniu przechwytuj wszystkie wcisniete klawisze i jesli trafisz na ten co chcesz to wysylasz msg o wzbudzeniu :>

Malcom avatar
Malcom
20080730-180650-malcom

To chyba nie jest takie proste. System sam włącza ekran, gdy odbierze jakieś zdarzenie z klawiatury lub myszki. I chyba nic nie poradzę, ale nie przyglądałem się temu problemowi, może jednak coś się wymyśli ;)

Dodaj komentarz

/dozwolony markdown/

/nie zostanie opublikowany/