Informacja od Windows o zbliżającym się restarcie

0

Słuchajcie, obsługując trochę serwerów co jakiś czas wchodząc na nie widzicie komunikat w stylu:

albo i nie widzicie, dostajecie tylko telefon że coś nie działa!

Oczywiście można to ignorować, blokować itp. ale w końcu wypadało by ten serwer zrestartować.
Problem polega na tym, że moi klienci najczęściej pracują w trybie ciągłym i nie mogę tak po prostu tego zrobić.

Pomyślałem jednak o prostej aplikacji która poinformowała by klienta że za ileś tam minut będzie restart serwera i powinien zapisać swoją pracę i poczekać aż serwer się podniesie. Oczywiście po restarcie serwera ponownie otrzymałaby stosowną informację ale to już jest proste.

Pytanie: jak odczytać z Windows że chce się restartować za ileś tam minut? Macie jakiś pomysł?

4

Pewnie jest jakieś api do tego ale trzeba by poszukać. Alternatywą może być programik:
https://docs.microsoft.com/pl-pl/visualstudio/debugger/introducing-spy-increment?view=vs-2019
pobierasz handle tego okna i robisz sobie usługę, która przeszukuje wszystkie okna w poszukiwaniu tego konkretnego np classname / caption np poprzez EnumChildWindow i jak się pojawi to coś tam robisz swojego :)

Pogooglałem trochę i można spróbować zapiąć się na windows message:
WM_QUERYENDSESSION and WM_POWERBROADCAST

tu nawet projekt na github:
https://github.com/apriorit/OS-shutdown-winapi

0

z przechwytywaniem będzie ciężko, jest dużo rodzajów tych okien i wyłapanie ich będzie trwało miesiącami a i tak na końcu dowiem się że czegoś nie przewidziałem :(

0

Zawsze możesz przechwycić wszystko w Windows. Jest jeden problem z jądrem środowiska Windows jeśli chodzi o przechwycenie jądra systemu, które samo wskazuje napraw lub uruchom w trybie normalnym. Dobrym przykładem są również przeglądarki internetowe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1