Nema potrebe da se pravi windows service, dovoljno je da se prate windows poruke koje stizu u glavnu formu.
Za logout, shutdown i restart:
Namesti svoj form da prima poruke tipa:
WM_QUERYENDSESSION
Na ovom linku ces videti kako da razlucis izmedju logoff i restart/shutdown.
Za lock/unlock workstation:
Ovo ne mozes da sprecis nikako, ali mozes da se nakacis i da dobijas notification kad se konzola zakljuca/otkljuca sa API metodom:
WTSRegisterSessionNotification
Iako je ovo "sink" za terminal services notifikacije, stizace ti
WM_WTSSESSION_CHANGE poruke tipa: WTS_SESSION_LOCK i WTS_SESSION_UNLOCK cak i unutar konzolne sesije.
Za standby:
Kao i za logout, primas poruke tipa:
WM_POWERBROADCAST. Da bi sprecio standby, treba ti pod-poruka tipa
PBT_APMQUERYSUSPEND, jednostavno vrati vrednost BROADCAST_QUERY_DENY i standby ce biti sprecen. WM_POWERBROADCAST mozes takodje da koristis da samo detektujes kad masina ide i vraca se iz standby-a.
▪ When the only tool you know how to use is a hammer every problem begins to look like a nail
▪ "Gladni stolećima, kupujemo više hleba nego što nam je potrebno. A, onda ga bacamo. Hleb u đubretu nije dobar prizor. On sluti na zlo. I zlo dolazi" - Momo Kapor
▪ "Opportunity is missed by most because it is dressed in overalls and looks like work" - Thomas Edison