Re: [ot] poszukuje programu do wyswietlania komunikatowprzedwylaczeniemwindows

Autor: Wojciech \ <wojciech.sura_no_at_spam_poczta.medi.com.pl>
Data: Fri 22 Jul 2011 - 08:33:20 MET DST
Message-ID: <op.vy0chujqppa1dq@l3.medicom.local>
Content-Type: text/plain; charset=iso-8859-2; format=flowed; delsp=yes

Dnia 21-07-2011 o 14:56:00 Radosław Sokół <rsokol@magsoft.com.pl>
napisał(a):

> W dniu 12.07.2011 22:12, Wojciech "Spook" Sura pisze:
>> Bo komunikat trzeba wyświetlić asynchronicznie, a nie synchronicznie.
>> Jeśli w funkcji obsługującej komunikat wyświetli się wiadomość, to
>> system nie otrzyma odpowiedzi i będzie dalej zamykał system
>
> Ale wtedy musiałbyś *odrzucić* prośbę o zamknięcie systemu.
> To niezbyt wygodne, rzekłbym.

Nie rozumiem: chcesz przerwać zamykanie systemu, czy nie? Jeśli user w
komunikacie wybierze, że zrobił wszystko jak trzeba i że system ma się
zamknąć, to przełączasz w programie flagę uniemożliwiającą zamknięcie i
puszczasz ExitWindowsEx - i system wznowi zamykanie. Z punktu widzenia
użytkownika będzie to wyglądało tak, jakby system przerwał na chwilę ten
proces (ba, wydaje mi się, że nawet z punktu widzenia systemu tak będzie,
w końcu zamykanie systemu zostało przerwane na etapie zamykania programów).

>> WM_POWERBROADCAST
>>
>> http://msdn.microsoft.com/en-us/library/Aa373247
>
> Ale na ten komunikat są od Visty jeszcze *znacznie* ostrzejsze
> ograniczenia czasowe (i zniesiono możliwość blokowania uśpie-
> nia, o ile dobrze pamiętam -- nie czytałem teraz dokumentacji).

To jest akurat całkiem rozsądne, bo w przypadku, gdy na przykład pada
bateria w notebooku, lepiej zmusić wszystkie programy do uśpienia lub
hibernacji nie zważając na maruderów, którzy chcieliby jeszcze otrzymać
jakieś informacje od użytkowników niż dopuścić do rozładowania baterii i w
konsekwencji potencjalnej utraty danych.

I proszę, zanim napiszesz coś na grupy, jednak czytaj dokumentację
(szczególnie, że podałem Ci ją na patelni). MSDN jest przygotowany bardzo
dobrze i są tam generalnie wszystkie odpowiedzi, których potrzebujesz,
tylko trzeba siąść i trochę poszukać.

<cytat>
PBT_APMQUERYSUSPEND
0 (0x0)
Request for permission to suspend. In Windows Server 2008 and Windows
Vista, use the SetThreadExecutionState function instead.
</cytat>

Pozdrawiam -- Spook.

-- 
Używam klienta poczty Opera Mail: http://www.opera.com/mail/
Received on Fri Jul 22 08:35:03 2011

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Fri 22 Jul 2011 - 08:42:01 MET DST