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 shutdown, reboot usw. (https://www.delphipraxis.net/29983-shutdown-reboot-usw.html)

Delphi Star 17. Sep 2004 21:36


shutdown, reboot usw.
 
Ich brauche diese Befehle für win w2k/xp:
  • Herunterfahren
  • Neu starten
  • Standbymodus
  • Abmelden
  • Computer sperren*

*Gibt es glaube ich nur für w2k

mirage228 17. Sep 2004 21:50

Re: shutdown, reboot usw.
 
Hi,

wie wäre es mit der Forensuche oder der Suche in der Code-Lib?

Hier im Forum suchenExitWindowsEx und Delphi-Referenz durchsuchenLockWorkstation

mfG
mirage228

Delphi Star 19. Sep 2004 08:04

Re: shutdown, reboot usw.
 
Ich habe fast alles gefunden, jetzt muss ich nur nocn den Befehl für den Standbymodus wissen.

Stanlay Hanks 19. Sep 2004 09:08

Re: shutdown, reboot usw.
 
Guten Morgen.

Ist schon schön, wenn ein User seine Posts so freundlich gestaltet und nicht nur "Ich will" und "Ich brauche" rein schreibt.


Bitte klicken.

Mit

Delphi-Quellcode:
SetSuspendState(False, False, False);
aufrufen oder entsprechend den Kommentaren im Source anpassen.

Man liest sich, Stanlay

Meflin 19. Sep 2004 09:40

Re: shutdown, reboot usw.
 
gibt es nicht auch noch die möglichkeit das ganze überdie shutdown.exe und shellexecute zu ändern? ich kenne die parameter nicht, aber shutdown -w verhindert doch das herunterfahren oder? und ich denke da gibt es die restlichen auch noch...

[edit] 1500. Beitrag :party: [/edit]

SirThornberry 19. Sep 2004 10:03

Re: shutdown, reboot usw.
 
@Melfin: "shutdown -a" bricht das herunterfahren ab
Zitat:

Code:
Syntax: shutdown [-l | -s | -r | -a] [-f] [-m \\Computer] [-t xx]
                 [-c "Kommentar"] [-d up:xx:yy]

  Keine Argumente Zeigt diese Meldung an (wie -?).
  -i             Zeigt eine grafische Benutzeroberfläche an (muss die erste
                  Option sein).
  -l             Abmelden (kann nicht mit der Option -m verwendet werden).
  -s             Fährt den Computer herunter.
  -r             Fährt den Computer herunter und startet ihn neu.
  -a             Bricht das Herunterfahren des Systems ab.
  -m \\Computer  Remotecomputer zum Herunterfahren/Neustarten/Abbrechen.
  -t xx          Zeitlimit für das Herunterfahren, in xx Sekunden.
  -c "Kommentar" Kommentar für das Herunterfahren (maximal 127 Zeichen).
  -f             Erzwingt das Schließen ausgeführter Anwendungen ohne Warnung.
  -d [u][p]:xx:yy Grund (Code) für das Herunterfahren:
                  u = Benutzercode
                  p = Code für geplantes Herunterfahren
                  xx = Hauptgrund (positive ganze Zahl kleiner als 256)
                  yy = Weiterer Grund (positive ganze Zahl kleiner als 65536)


Delphi Star 19. Sep 2004 10:15

Re: shutdown, reboot usw.
 
Das mit Shutdown funktioniert aber nur unter XP, unter w2k gibt es die shutdown.exe nicht

Sprint 19. Sep 2004 12:12

Re: shutdown, reboot usw.
 
Zitat:

Zitat von Delphi Star
Ich habe fast alles gefunden, jetzt muss ich nur nocn den Befehl für den Standbymodus wissen.

Das folgende Beispiel habe ich am 06. August 2002 geschrieben und noch nicht unter XP getestet...

Zitat:

Wie kann ich Windows in den StandBy Modus setzen?

Um Windows schlafen zu legen, reicht der Aufruf der Win32 API Funktion SetSystemPowerState. Nach Angaben des Platform SDK, wird die Funktion von allen Windows Versionen unterstützt. Unter Windows NT muss zusätzlich das SE_SHUTDOWN_NAME Privileg gesetzt werden.
Delphi-Quellcode:
unit StandbyWindows_Unit;

interface

uses
  Windows;

function StandbyWindows: Boolean;

implementation

const
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';

// -----------------------------------------------------------------------------

function StandbyWindows: Boolean;
var
  OSVersionInfo: TOSVersionInfo;
  hToken: THandle;
  hProcess: THandle;
  TokenPriv: TTokenPrivileges;
  ReturnLength: DWORD;
begin

  Result := False;
  OSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo);

  if not GetVersionEx(OSVersionInfo) then
    Exit;

  case OSVersionInfo.dwPlatformId of
    VER_PLATFORM_WIN32_NT:
      begin
        hProcess := GetCurrentProcess;

        if not OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES, hToken) then
          Exit;

        if not LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME,
          TokenPriv.Privileges[0].Luid) then Exit;

        TokenPriv.PrivilegeCount := 1;
        TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

        if not AdjustTokenPrivileges(hToken, False, TokenPriv, 0,
          PTokenPrivileges(nil)^, ReturnLength) then Exit;

        CloseHandle(hToken);
      end; {end VER_PLATFORM_WIN32_NT}
  end; {end case}

  Result := SetSystemPowerState(True, False);

end; {end function}

// -----------------------------------------------------------------------------

end.

alcaeus 19. Sep 2004 12:14

Re: shutdown, reboot usw.
 
Zitat:

Zitat von Meflin
gibt es nicht auch noch die möglichkeit das ganze überdie shutdown.exe und shellexecute zu ändern? ich kenne die parameter nicht, aber shutdown -w verhindert doch das herunterfahren oder? und ich denke da gibt es die restlichen auch noch...

Ja, aber per Standardeinstellung ist die Verwendung vom shutdown-Dienstprogramm Administratoren vorbehalten, und ist damit eine schlechte Wahl.

[ot]
Zitat:

Zitat von Meflin
[edit] 1500. Beitrag :party: [/edit]

Gratuliere ;)
[/ot]

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 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