[PL] if (is_computer_on()!=1) { lets_play_sideshow(); }

Uśmiałem się trochę gdy zajrzałem na blog jednego z moich kolegów z Finlandii:
http://slinky.imukuppi.org/2008/03/28/if-a-kernel-call-is-made-but-nobody-is-listening/

Jego blog naogół jest średnio Microsoftowy, wręcz przeciwnie. Jani to dla mnie jedna z tych pomocnych osób, dzięki której o konkurencji mam nadzieję nie gadam głupot bez wiedzy ;)

W każdym razie jak zajrzycie na powyższego bloga to zauważycie, że Jani w bibliotekach do wydaje mi się już martwego systemu BeOS (no chyba, że komuś się jeszcze chce bawić w Haiku) odkrył ciekawą funkcję w API. Funkcja is_computer_on(), która sprawdza czy komputer jest włączony.

Uśmiałem się, bo w sumie jak ma nie zwrócić 1 (true) gdy aplikacja, która wykona tą funkcję raczej nie ma prawa zostać wykonana przy wyłączonym komputerze. No chyba, że znajdę ochotnika, który byłby mi w stanie sprawdzić i udowodnić, że przetestował to na wyłączonej maszynie :)

Wydaje się do bólu zabawne, ale w sumie to przełożyłem sobie szybko taką funkcję na potencjalne (i może już mniej absurdalne) potrzeby Windows Vista.

W końcu pod tym systemem mamy wsparcie do Sideshow - małego okienka, które producent komputera może umieścić np. na zewnętrznej stronie klapy laptopa i pozwolić nam na uruchomienie ograniczonej funkcjonalności systemu, gdy on jest wyłączony czy uśpiony.

image {przykład wykorzystania Sideshow}

W takiej sytuacji doszedłem do wniosku, że sprawdzenie, czy mój komputer jest włączony czy też może nie (np. jest zahibernowany), nawet mogło by mieć merytoryczny sens :)

Z ciekawości aż sprawdziłem czy takiego cuda jak is_computer_on() nie ma pod Windows.
Najbliżej jak mi się udało to w funkcjach WinAPI związanych z Power Management znalazłem funkcję: GetDevicePowerState, aczkolwiek nie mam urządzenia z sideshow, na którym mógłbym w praktyce przetestować taki scenariusz.

Tak czy siak uśmiałem się po pachy i raczej wciąż traktuję to odkrycie w kategoriach dobrego żartu :]

Technorati Tagi: Polish posts,babbling,Windows Vista,geeks