Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows in 5 Sekunden ausschalten, aber wie? (https://www.delphipraxis.net/59958-windows-5-sekunden-ausschalten-aber-wie.html)

c113plpbr 31. Dez 2005 21:54

Re: Windows in 5 Sekunden ausschalten, aber wie?
 
Jop, das sollte schon richtig sein, ich wusste bis vorhin nicht, dass man sich zum herunterfahren erst die rechte holen muss ...

... denn das shutdown-tool-dingens tut sowas ähnliches zwar, allerdings in sehr verkürzter form ... mich wunderts, dass das überhaupt funktioniert:

Code:
Sub Main()
'N 00401630 51                   push ecx
'N 00401631 8D442400             lea eax, dword ptr [esp]
'N 00401635 56                   push esi
'N 00401636 50                   push eax
'N 00401637 6A00                 push 0
'N 00401639 6A01                 push 1
'N 0040163B 6A13                 push 13h
'N 0040163D C744241400000000     mov dword ptr [esp+14h], 0
'N 00401645 E8FFFFFCD2           call L0040131C
'N                              * API ref: RtlAdjustPrivilege
'N 0040164A 8B3510104000         mov esi, dword ptr [L00401010]
'N                              * ref: __vbaSetSystemError
'N 00401650 FFD6                 call esi
'N 00401652 6A00                 push 0
'N 00401654 E8FFFFFD0F          call L00401368
'N                              * API ref: NtShutdownSystem
'N 00401659 FFD6                 call esi
'N 0040165B 5E                  pop esi
'N 0040165C 59                   pop ecx
'N 0040165D C3                   ret
End Sub
na egal ... ^^

ciao, Philipp

thomasw 31. Dez 2005 22:09

Re: Windows in 5 Sekunden ausschalten, aber wie?
 
RtlAdjustPrivilege ist lediglich die bequeme (allerdings auch undokumentierte) Art Privillegien zu aktivieren bzw. deaktivieren.

Mazel 31. Dez 2005 22:23

Re: Windows in 5 Sekunden ausschalten, aber wie?
 
@thomasw:

RtlAdjustPrivilege hab ich auch irgendwo gefunden, das war aber in VB, daher hab ich das sein lassen.

@c113plpbr: Danke für den Hinweis mit der ntapi. :thumb:

Danke nochmal an all
SUPER

Gruß
Mazel

phXql 1. Jan 2006 09:23

Re: Windows in 5 Sekunden ausschalten, aber wie?
 
Zitat:

Zitat von mh166
Zitat:

Zitat von phXql
Nein, Suspend To Disk ist noch langsamer, weil der gesamte inhalt des RAMs auf die Platte geschrieben wird. Suspend to RAM is das schnellste, aber wenn man dann den PC den saft abdreht, is halt blöd, weil dann die daten verloren sind.

Also das will ich jetzt einfach mal als Quatsch dahinstellen! Ich habs gerade noch mal gestoppt, um meine These auch mit statistischen Werten zu belegen:

:arrow: normal herunterfahren: 24s
:arrow: Ruhezustand: 11s

Das ganze bei einm Arbeitsspeicher von 512MB und mit nem AMD Sempron 2200+ (1,5GHz). Beide Messungen wurden nach einem Kaltstart gemacht.

Das scheint mir auch ziemlich logisch: 512MB auf die Pladde schreiben braucht halt viel weniger Zeit, als die ganzen Dienste und Anwendungen zu stoppen und normal zu beenden. Denn so muss einfach nur kopiert werden und schon kann der Stecker gezogen werden. Dass der Start dadurch auch beschleunigt wird (45s statt 83s) is dann ja auch nur logisch. Hier muss ja bloß der Schmarn zurückkopiert und die Peripherie aktiviert werden.

mfg, mh166

Bei WinXP wundert mich das auch nicht, das brauch ja länger zum runter- als zum hochfahren ;). Bei meinem Win2k und 768 MB RAM dauert das Suspend-to-disk locker doppelt so lange wie das runterfahren. Ich würd mal sagen, das kommt ganz auf das OS und die platte drauf an ;)

himitsu 1. Jan 2006 10:07

Re: Windows in 5 Sekunden ausschalten, aber wie?
 
klar dauert supend-to-disk länger,
denn beim normalen runterfahren wird alles "nur" beendet, wären bei suspend-to-disk einiges runtergefahren und der RAM auf Festplatte gespeichert wird.
Und die Festplatte ist nunmal nicht gerade schnell und es dauert halt etwas, bis z.B. bei mir so ein GB vom RAM auf Disk kopiert wurde.

Aber das liegt nicht nur an der Festplatte ... Windows scheint es ja nicht zu schaffen nur die belegten Speicherbereiche abzuspeichern.

Daniel Schuhmann 14. Jan 2006 11:04

Re: Windows in 5 Sekunden ausschalten, aber wie?
 
Zitat:

Zitat von himitsu
Windows scheint es ja nicht zu schaffen nur die belegten Speicherbereiche abzuspeichern.

Doch, es werden in der Tat nur die belegten Speicherbereiche gespeichert. Kannst Du leicht nachvollziehen, indem Du z.B. in ner Bildbearbeitung den RAM vollknallst. Da dauert SuspendToRam dann auch ewig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr.
Seite 3 von 3     123   

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