![]() |
Konsolenprogramm und Shutdown verhindern
Hi,
ich habe folgendes Szenario: Ich habe einen Dienst der normal unter SYSTEM-Account läuft. Auf diesen Dienst habe ich Codetechnisch keinen Zugriff. Dieser Dienst startet allerdings eine von mir geschriebene Konsolenanwendung. Nun muss diese Konsolenanwendung die Fähigkeit haben, wärend sie läuft, den Shutdown zu verhindern. Da ich ja kein Fenster habe, und die Konsolenanwendung auch vom Dienst unter SYSTEM gestartet wird, kann ich die Lösung über WM_QueryEndSession vergessen. Bleibt mir quasi noch die SetConsoleCtrlHandler und dort CTRL_SHUTDOWN_EVENT abfangen. Klappt soweit gut, Nur weiß ich jetzt nicht wie ich innerhalb dieses Events den Shutdown tatsächlich verhindern kann, so wie es über WMQueryEndSession gehen würde. Weiß jemand eine Lösung? Grüße, xpmd |
Re: Konsolenprogramm und Shutdown verhindern
Unter nt4-xp:
mit NtSetInformationProcess (und NtCreateToken) allen Prozessen das SeShutdownPrivilege entziehen. Achtung: Die Funktion ist nicht von ms dokumentiert und funktioniert nicht mehr unter vista! Und noch ne Lösung [einfacher und besser]: Mit SuspendThread alle Threads von winlogon auf eis legen. dann dürfte das system erst runterfahren, wenn winlogon wieder mit ResumeThread aufgetaut wird. |
Re: Konsolenprogramm und Shutdown verhindern
|
Re: Konsolenprogramm und Shutdown verhindern
Ein sehr gutes Buch!
Aber wie der Titel schon sagt nt/2k! Unter vista lässt sich das AccessToken nicht mehr ändern wenn der Prozess läuft (wie ich letztens erfahren musste). Von daher ist es besser Winlogon einzufrieren. |
Re: Konsolenprogramm und Shutdown verhindern
Zitat:
Warum darf der Rechner denn nicht runtergefahren werden, wenn dein Programm läuft? |
Re: Konsolenprogramm und Shutdown verhindern
Die Lösung über WM_QUERYENDSESSION geht doch nicht, weil er einen Service verwendet.
Mach doch einen Hook auf ExitWindowsEx. |
Re: Konsolenprogramm und Shutdown verhindern
Was spricht gegen einen zusätzlichen Thread mit einem Fenster, über das man die Nachricht erhält?
|
Re: Konsolenprogramm und Shutdown verhindern
Zitat:
Aber ich hab ja auch davon noch abgeraten; ich wollte es nur nicht komplett löschen, weil es ja auch ne Lösung ist. Aber was spricht gegen die Methode mit winlogon? |
Re: Konsolenprogramm und Shutdown verhindern
2x auf absenden gedrückt sorry. Ich dachte der Browser würde hängen
|
Re: Konsolenprogramm und Shutdown verhindern
Zitat:
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz