![]() |
Re: Windows in 5 Sekunden ausschalten, aber wie?
@noch_ein_hannes:
Er hat die Angewohnheit solange vor dem Rechner zu sitzen, bis das Lämpchen am Bildschirm rot blinkt. Erst dann ist er sich sicher, dass der Computer auch aus ist. Ich habe vorhin versucht den PC schneller zu machen, in dem ich die weiter oben erwähnten Werte in der Registry ändere, aber leider ohne Erfolg. |
Re: Windows in 5 Sekunden ausschalten, aber wie?
Der Recner von meinem vater braucht auch ewig, im Vergleich zu meinem, zum Runterfahren, aber der hat auch mehr Programme in der TNA, als ich zusätzlich Anwendungen installiert. ;)
|
Re: Windows in 5 Sekunden ausschalten, aber wie?
Anstatt das angesprochene "Super Fast Shutdown" Programm zu benutzen kann man auch gleich auf den Powerknopf drücken, Resultat ist das Gleiche.
Zitat:
![]() |
Re: Windows in 5 Sekunden ausschalten, aber wie?
Moin. Schau dir mal AntiSpy XP an. Da gibt es eine Option "Schnelles Herunterfahren aktivieren". Vielleicht reicht das deinem Vater schon aus.
Man liest sich, Stanlay :hi: |
Re: Windows in 5 Sekunden ausschalten, aber wie?
Man nehme einen Disassembler ...
Es ruft zum herunterfahren die NT-Native Funktion NtShutdownSystem mit dem Parameter ShutdownNoReboot auf und zum neustarten dasselbe, nur mit dem Parameter ShutdownReboot. Gute "Headerdateien" für die NT-Native-API findest du ![]() Jedoch bezweifle ich, dass diese Methode gut für einen Computer sein kann ... ciao, Philipp |
Re: Windows in 5 Sekunden ausschalten, aber wie?
Danke c113plpbr, jedoch habe ich keine Ahnung, wie ich die Komponente verwende bzw. wie ich eine Disassembler baue.
Gruß Mazel |
Re: Windows in 5 Sekunden ausschalten, aber wie?
Zitat:
Einfach die ntapi runterladen, in den Delphi-suchpfad einbinden, dann per
Delphi-Quellcode:
ins projekt einbinden, und dann irgendwo im quelltext
uses
JwaNative;
Delphi-Quellcode:
schreiben ...
NtShutdownSystem(ShutdownNoReboot);
-> gaaanz einfach ... ciao, Philipp |
Re: Windows in 5 Sekunden ausschalten, aber wie?
Zitat:
: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 |
Re: Windows in 5 Sekunden ausschalten, aber wie?
@c113plpbr:
Hab mir nun mal die ntapi geladen, und das alles so gemacht wie du es geschrieben hast. Habs mit einem ButtonClick Ereignis verbunden, jedoch passiert nichts. Muss ich da noch irgend was anderes machen? Ich mühe mich gearde mal durch die jwanative durch, um zu verstehen was da passiert, aber momentan noch ohne erfolg. Gruß Mazel |
Re: Windows in 5 Sekunden ausschalten, aber wie?
So, habs nun denke ich geschafft, laufen tut's aber ob es so richtig ist, weiss ich nicht:
Delphi-Quellcode:
Gruß
uses
jwaNative; {$R *.dfm} function TForm1.ExWindows(const AFlag: Word): Boolean; var vi: TOSVersionInfo; hToken: THandle; tp: TTokenPrivileges; h: DWord; begin Result:=False; vi.dwOSVersionInfoSize:=SizeOf(vi); If GetVersionEx(vi) then begin If vi.dwPlatformId = VER_PLATFORM_WIN32_NT then begin If OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken) then begin LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tp.Privileges[0].Luid); tp.PrivilegeCount:=1; tp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED; h:=0; AdjustTokenPrivileges(hToken, False, tp, 0, PTokenPrivileges(nil)^, h); CloseHandle(hToken); //Hier nun der besondere Teil NtShutdownSystem(SHUTDOWNNOREBOOT); end; end Else Result:=ExitWindowsEx(Aflag, 0); end; end; procedure TForm1.Button1Click(Sender: TObject); begin ExWindows(EWX_SHUTDOWN or EWX_FORCE); end; end. Mazel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 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