Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ExitWindows (https://www.delphipraxis.net/17308-exitwindows.html)

Dax 3. Mär 2004 06:22


ExitWindows
 
Gibt es eine Möglichkeit, Windows per Funktionsaufruf "den Saft abzudrehen", also komplett herunterzufahren, ohne das laufende Programme Nachfragen(z.B. "noch nicht gespeichert") stellen?

BtW: Ich hab's mit ExitWindowsEx(EWX_POWEROFF (bzw. EWX_SHUTDOWN) or EWX_FORCE, 0) ausprobiert, ging aber nicht so wie ich es wollte(Delphi wollte wissen, ob es speichern soll).

MathiasSimmack 3. Mär 2004 06:32

Re: ExitWindows
 
Zitat:

Zitat von Dax
Gibt es eine Möglichkeit, Windows per Funktionsaufruf "den Saft abzudrehen", also komplett herunterzufahren, ohne das laufende Programme Nachfragen(z.B. "noch nicht gespeichert") stellen?

Irgendwo hatte ich mal eine Möglichkeit. Aber andererseits hoffe ich, dass so was nicht von jedem Windows "unterstützt" wird, denn das Nachfragen macht ja Sinn. Ich möchte nicht der sein, der auf Schadenersatz wg. Datenverlust verklagt wird, nur weil mein Programm rabiat Windows beendet ohne offene Programme ordnungsgemäß zu schließen und damit Daten zu sichern,

manuel 3. Mär 2004 07:00

Re: ExitWindows
 
Hi,

wie es bei anderen Betriebssystmen aussieht, weiss ich nicht, aber WinXP bringt da ein Tool namens shutdown.exe mit.
Das einfach über shellExecute aufrufen.
mit den entsprechenden Parametern kann man das gewünschte verhalten erzielen.

Ist zwar kein Funtionsaufruf, geht zur not aber auch...

manuel

Luckie 3. Mär 2004 10:43

Re: ExitWindows
 
Und für alles anderen Windosen gibt es hier in der Code-Lib Code. Zu beachten: Unter Windows NT ff. muss man sich verher die Rechte holen, aber das steht auch in der Code-Lib.

QuickAndDirty 3. Mär 2004 13:26

Re: ExitWindows
 
Ich hab das mal in "Perl" programmiert,
sah dann so aus.

use strict;
use win32;

Win32::InitiateSystemShutdown("XP1", "Der Computer wird heruntergefahren.", 0, 1, 0);

Wobei "xp1" der Rechner name ist.
das geht aber nur wenn man Admin ist und kein anderer Admin angemeldet ist.

unter delphi könnte es so aussehen
Delphi-Quellcode:
InitiateSystemShutdown(Pchar('pcName'),pchar('Message text'),0,1,0);


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz