> WM_WTSSESSION_CHANGE radi samo za remote desktop. Kad se uradi
> kulturan logoff, ne dolazi do genersianja poruke.
Moraš pozvati WTSRegisterSessionNotification prethodno, radi i ne samo kod RD, ali se ne sećam da li se generišu poruke kod regularnog gašenja
ili samo kod fast user switchinga.
> Ovako, imam tri modalne forme. glavna forma ima hookovan Message loop sa Application.HookMainWindow(HookProc); u kojoj se handluju sve poruke
> na nivou aplikacije.
> Svaka sem poslednje ima obradjenu metodu za formCloseQuery. VCL kad dobije WM_QUERYENDSESSION prvo posalje formCloseQuery pa
> tek onda poruku WM_QUERYENDSESSION, i tako za sve otvoreno prozore.
Ne, forma prvo dobije WM_QUERYENDSESSION i onda poziva OnCloseQuery, ako želiš da promeniš način na koji se handluje ta poruka možeš
dodati novu metodu svojoj formi npr:
procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
> Tako da mi se poslednja forma ugasi, srednja dobije formCloseQuery, koji ispucava messageBox.
Šta znači ispucava messageBox?
> Tako da do glavne forme (odnosno do HookProc-a ) ne stinge u opste WM_QUERYENDSESSION.
Ne shvatam šta treba tvoj program da uradi kada se gasi windows, da se sam ugasi ili nešto više?
Po defaultu OnCloseQuery vraća True, ako želiš da se forma ugasi onda nije ni potrebno da hendluješ taj event.