/ / Zachytiť vypnutie systému Windows, odhlásiť sa a reštartovať službu Windows zabudovanú v jazyku Java? - java, winapi

Zachyťte vypnutie systému Windows, odhláste sa a reštartujte v službe Windows postavenej v jazyku Java? java, winapi

Existuje spôsob, ako zachytiť odhlásenie alebo vypnutie systému Windows v službe Windows zabudovanej v jazyku Java?

Chcem zachytiť udalosť systému Windows v službe Windows a po zachytení chcem poslať e-mail.

odpovede:

0 pre odpoveď č. 1

Dostanete upozornenie v bežnom užívateľskom kóde prostredníctvom adresy WM_QUERYENDSESSION. Na prijatie tejto správy však musíte použiť JNI a vytvoriť okno, ku ktorému priradíte WndProc.


0 pre odpoveď č. 2

Nemyslím si, že tu máte čisté riešenie Java.

Vidím dva spôsoby.

Tento proces môžete spustiť ako službu systému Windows. Môžete teda predpokladať, že ak dôjde k jeho výpadku, stane sa to spolu s vypnutím tohto OS. Nie je to 100% správne, ale relatívne jednoduché.

Ďalším spôsobom je nájsť nejaký proces, ktorý sa spustí, keď OS klesá, a pokúsiť sa vykonať dotazovanie na procesy. Prípadne môžete pravdepodobne použiť WMI diania. Na pripojenie k WMI z Java môžete použiť jeden z: JaWin, J-integra, J-interop alebo si vytvorte vlastný skript WMI vo VBScript alebo JScript a spustite ho z Java pomocou CScript.