Pisze aplikacje która przypomina o nie wyjętym pendivie i nie pozwala wyłączyć systemu. Udało mi się zatrzymać zamykanie ale pojawia się ten ekran “Te aplikacje blokują zamykanie systemu”. Czy dało by się to okno jakoś obejść?
A może wywołać w tym momencie polecenie “shutdown /a”?
Niby jak mam uruchomić cmd jak system się zamyka? Każda próba otworzenia nowego okna zakończy się błędem 0x0000142. A tak poza tym to shutdown /a służy do anulowania odmierzania czasu, a nie zamykania systemu. Tutaj raczej trzeba sięgnąć po API Windowsa.
Nie wydaje mi się.
/a Przerywa zamykanie systemu.
Wobec tego sposób w jaki próbujesz zatrzymać zamykanie systemu zdaje się być nieprawidłowy. Myślę że okno “Te aplikacje blokują zamykanie systemu” nie pojawiłoby się, gdyby komenda została wydana w odpowiednim momencie. Być może WinAPI udostępnia jakieś zdarzenie pod które można się podpiąć aby wychwycić próbę zamknięcia systemu.
Wystarczy obsłużyć odpowiedni komunikat. Tak było w przypadku Windows XP.
Może, zamiast otwierać nowe okno, użyjesz funkcji języka standard C o nazwie system, o tak:
system(“shutdown /a”);