Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   InstantShutdown - Herunterfahren in einer Sekunde (https://www.delphipraxis.net/82723-instantshutdown-herunterfahren-einer-sekunde.html)

Zacherl 18. Dez 2006 19:10


InstantShutdown - Herunterfahren in einer Sekunde
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

hier mal ein kleines Tool, was den Computer in weniger als einer Sekunde runterfahren kann. Es wird die undokumentierte NtShutodwn API verwendet.

ACHTUNG: Vor dem Ausführen müssen alle offenen Daten gepspeichert werden!

Vielleicht braucht das ja wer.
Florian

Gentleman 18. Dez 2006 19:22

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Hallo,

Also funktionieren tut dein Tool auf jeden Fall, allerdings frage ich mich, ob das meinem Computer so gut tut, wenn ich ihn auf diese Weise "abwürge". :gruebel:

Also Ich denke mal für Leute, die viel in Eile sind, vielleicht ganz nützlich, aber Allgemein wohl doch nicht unbedingt die beste Methode einen Computer auszuschalten, oder? :zwinker:


Gruß,
Lennard

Zacherl 18. Dez 2006 19:29

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Also soweit ich mich informiert habe ruft Windows selber diese Funktion auf, wenn man auf Runterfahren klickt. Allerdings werden normalerweise vorher noch einige Sachen geregelt (Messages an alle Prozesse, Rückmeldung, Warten auf Beendigung aller Prozesse), aber dem System tut die Funktion auch so nichts.
Deshalb hab ich halt geschrieben, dass man vorher alles speicher soll, da es nur halt keine Rückfrage gibt. Die Funktion räumt soweit alles schön ausm RAM raus und schaltet dann das System ab :D

xZise 18. Dez 2006 19:50

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von Florian Bernd
Die Funktion räumt soweit alles schön ausm RAM raus und schaltet dann das System ab :D

Ersteres ist ein bisschen Überflüssig:
Zitat:

Der üblicherweise in Computern eingesetzte RAM ist 'flüchtig' (auch: 'volatil'), das heißt, die gespeicherten Daten gehen nach Abschaltung der Stromzufuhr verloren.
;) Einmal kurz Storm weg, alles weg :P

Daniel G 18. Dez 2006 19:55

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von Florian Bernd
hier mal ein kleines Tool, was den Computer in weniger als einer Sekunde runterfahren kann.

Also sowas wie

shutdown -s -f

ja? :mrgreen:

Die Muhkuh 18. Dez 2006 19:57

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Bevor ich teste, möchte ich wissen, ob das Ding direkt runterfährt, wenn ich es aufrufe^^

Flare 18. Dez 2006 20:36

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Wenn dort steht in weniger als einer Sekunde würde ich tippen, dass es direkt runterfährt. *noch nicht getestet hat*


Flare

Nicolai1234 18. Dez 2006 21:05

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Es könnte aber auch noch ein Programmfenster mit Button kommen...

Namenloser 18. Dez 2006 21:07

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Ich würds ja gerne testen, aber ich hab schiss :lol: (*angsthase bin*)

alzaimar 18. Dez 2006 21:23

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Namenlozer: Es passiert genau (na ja ... :mrgreen:) das Gleiche, wie wenn Du den Netzstecker ziehst. Hast Du davor auch Angst? :zwinker:

Flare 18. Dez 2006 21:35

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von alzaimar
Namenlozer: Es passiert genau (na ja ... :mrgreen:) das Gleiche, wie wenn Du den Netzstecker ziehst. Hast Du davor auch Angst? :zwinker:

Und ich würde auch keine Sekunde (haha, Sekunde :lol: ) zucken, wenn mein PC danach wieder genau so schnell hochgefahren wäre. Ich teste das Programm, wenn ich heute schlafen gehe.


Flare

Zacherl 18. Dez 2006 22:25

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Nein Shutdown -s -f ist viel langsamer :D ... Am Rausschmeißen der Programme aus dem RAM kann ich nichts ändern, weil ich wie gesagt einfach die API von Windows verwende.

@Die Muhkuh: Ja, es fährt sofort runter.

Flare 19. Dez 2006 05:33

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Also ich habe es jetzt getestet, bei mir fährt er in 3 Sekdungen runter (was auch immer er da so lange noch rechnet).

An sich ist die kleine Exe schön gemacht, aber es geht doch sehr stark auf die Psyche wenn der Bildschirm auf einmal schwarz wird und der Lüfter sich aufhört zu drehen. Man denkt eher an einen Absturz als an gewolltes Herunterfahren.

Eine Messagebox ob man wirklich herunterfahren möchte wäre eventuell noch angebracht. Die halbe Sekunde Zeit auf ja zu klicken hat man sicherlich bei deinem Tool (immerhin spart man ja über 10 Sekunden ein).


Flare

Flips 19. Dez 2006 07:11

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

aber es geht doch sehr stark auf die Psyche wenn der Bildschirm auf einmal schwarz wird und der Lüfter sich aufhört zu drehen. Man denkt eher an einen Absturz als an gewolltes Herunterfahren.
Allerdings^^
Jetzt mal ne Frage aus reiner Neugier. Warum bietet Windows selbst dieses Art des "Herunterfahrens" (Ich würds eher Ausschalten nennen :wink: ) nicht an?

Also ich finde das Programm zwar gut (hab mir ne Verknüpfung auf den Desktop gelegt, sollte ich ma schnell ausmachen wollen, aber im Normalfall vertraue ich dem normalen Herunterfahren) aber wie schon von Flare angesprochen, so ne MessageBox wäre vll noch ganz gut^^

Richtig gut wäre es wenn es Parameter hätte, beispielsweise(weiß den Namen des Programms ned mehr :lol: ):

Mit MessageBox : "C:\Programme\SchnellRunterfahren.exe"
Ohne MessageBox : "C:\Programme\SchnellRunterfahren.exe" -f

Phoenix 19. Dez 2006 07:25

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Ich habs mal ausprobiert nach nem Windows Update (musste eh neu starten...).

Was das Ding zum Beispiel nicht macht, ist das Profil des Benutzers zu sichern. Verschobene Icons, Änderungen an der Taskleiste etc. werden nicht ins Profil geschrieben sondern gehen verloren.

RavenIV 19. Dez 2006 08:25

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von Phoenix
Ich habs mal ausprobiert nach nem Windows Update (musste eh neu starten...).

Was das Ding zum Beispiel nicht macht, ist das Profil des Benutzers zu sichern. Verschobene Icons, Änderungen an der Taskleiste etc. werden nicht ins Profil geschrieben sondern gehen verloren.

Der Author hat doch geschrieben, dass nichts gesichert wird. Vielmehr wir der PC "Ausgeschaltet".

Flare 19. Dez 2006 09:57

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Ich habe das Programm mal eben an einem Schulrechner testen wollen (Windows 2000, sehr eingeschränkte Rechte) und ich wurde mit einer Fehlermeldung beglückt welche mir gesagt hat, dass er die "Dynamic Link Library ntdll" nicht im angegeben Pfad gefunden hat. Danach wurde ein cryptischer Langer Pfad aufgeführt der so ziemlich überall langführt (Meine Dateien, Windows-Ordner, Borland, ...) nur nicht zum Ziel.

Könnte es eventuell daran liegen, dass mein Speicher für die Schulrechner auf einem Server liegt und nicht auf dem PC selber?


Flare

Luckie 19. Dez 2006 10:11

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Vielmehr wir der PC "Ausgeschaltet".
Ich würde es eher als kontrolliertes Abstürzen bezeichnen. ;)

Such mal mit dem Explorer nach der Datei.

RavenIV 19. Dez 2006 10:15

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von Flare
Ich habe das Programm mal eben an einem Schulrechner testen wollen (Windows 2000, sehr eingeschränkte Rechte) und ich wurde mit einer Fehlermeldung beglückt welche mir gesagt hat, dass er die "Dynamic Link Library ntdll" nicht im angegeben Pfad gefunden hat. Danach wurde ein cryptischer Langer Pfad aufgeführt der so ziemlich überall langführt (Meine Dateien, Windows-Ordner, Borland, ...) nur nicht zum Ziel.

Könnte es eventuell daran liegen, dass mein Speicher für die Schulrechner auf einem Server liegt und nicht auf dem PC selber?
Flare

Liegt wohl eher daran, dass Du nicht die nötigen Rechte hast, um den PC "auszuschalten".

Luckie 19. Dez 2006 10:20

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Dann würde die Fehlermeldung "Zugriff verweigert" lauten.

RavenIV 19. Dez 2006 11:03

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von Luckie
Dann würde die Fehlermeldung "Zugriff verweigert" lauten.

nicht unbedingt.
Wenn der Benutzer keine Rechte für das Windows-Verzeichnis hat und die DLL aber im Pfad eingetragen ist (aber nicht gefunden werden kann, weil er das Verzeichnis nicht auflisten darf) dann ist die Datei halt nicht vorhanden und kann nicht gefunden werden.

Sunlight7 19. Dez 2006 15:02

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von Florian Bernd
ACHTUNG: Vor dem Ausführen müssen alle offenen Daten gepspeichert werden!

Du solltest wenigstens erwähnen, das ALLE Daten verloren gehen, nicht nur diese in vom Benutzer geöffneten Programmen, auch jene, die der Benutzer nicht direkt speichern kann.

Hat schon jemand probiert, was passiert, wenn grad ein Programm im Hintergund beginnt in Dateien zu schreiben, grad in dem Moment, wenn man die Exe öffnet. :shock:

Ich wills lieber nicht wissen :mrgreen:

xZise 19. Dez 2006 15:08

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Wäre doch das gleiche, wie ein Stromausfall, beim Download ;)

Namenloser 19. Dez 2006 15:09

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von alzaimar
Namenlozer: Es passiert genau (na ja ... :mrgreen:) das Gleiche, wie wenn Du den Netzstecker ziehst. Hast Du davor auch Angst? :zwinker:

ja xD

Sollte man auch nicht machen, denn imo gibt das ne strimschwankung die nicht grade gut für die hardware ist (auf dauer) :zwinker:

Zacherl 19. Dez 2006 15:29

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Wie gesagt, diese Funktion benutzt Windows auch. Nur speichert er vorher alle Sachen. Eine Stromschwankung halte ich deshalb für Quatsch!

Sascha L 19. Dez 2006 15:44

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Ohne es getestet zu haben, behaupte ich, dass das Programm extrem gefährlich ist!

Grund:

Ich hatte vor 2 Monaten das Problem, dass Windows sich nicht herunterfahren ließ, d.h. es passierte einfach nichts, als ich auf "Herunterfahren" geklickt habe. Da ich keine Zeit mehr hatte, hab ich den PC halt einfach ausgeschaltet. Das hatte zur Folge, dass Windows nicht mehr funktionierte und einige Dateien auf meiner Festplatte zerstört wurden und dieser Fehler lässt sich nicht mehr beheben. Mit keiner Wiederherstellungssoftware - die Sektoren auf der Festplatte sind für immer zerstört.

Das passiert, wenn die Festplatte z.B. gerade noch irendwo Daten schreibt und genau in diesem Moment der Strom gekappt wird. Das passiert zwar nicht immer, aber es kann - wie in meinem Fall - auftreten.

Da die Festplatte unter Windows so gut wie ständig irgendwas am Schreiben ist, müsste es extrem gefährlich sein, dein Programm zu nutzen! Da ja der PC mehr oder weniger auch sofort ausgeschaltet wird und alle Sicherheitsüberprüfungen von Windows (die solch einen Crash auf der Festplatte verhindern) umgegangen werden!

Die Idee deines Programmes ist sicherlich toll und ich will Deine Arbeit auch nicht zur Nichte machen, aber ich kann nur jedem davon abraten es zu nutzen, außer er kann mich vom Gegenteil überzeugen ;)

Edit:

Ja Windows nutzt die Funktion auch, aber sicherlich erst ganz am Ende, nachdem sichergestellt ist, dass nichts mehr auf der Festplatte geschrieben wird!

xZise 19. Dez 2006 16:12

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Da muss ich ja Glück haben, dass Windows gerade nichts schreibt, sollte mein PC mal wieder abstürtzen...

cringely 19. Dez 2006 16:13

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Also um auch ein bißchen Source-Code vor Augen zu haben, könnte die erste Routine von Swissdelphicenter
interessant sein:

Herunterfahren/Abmelden unter Windows

Dort kann man mit dem Parameter EWX_SHUTDOWN oder mit "EWX_SHUTDOWN or EWX_FORCEIFHUNG" einigermaßen
sicher das System herunterfahren. Die Variante "EWX_SHUTDOWN or EWX_FORCE" würde der Version von Florian Bernd
entsprechen. Weitere Erklärung liefern die Ausschmückungen bei Swissdelphicenter.

Wie immer gilt beim Ausprobieren, speichern und sichern, was nicht niet- und nagelfest ist, bevor man das anwendet ;-)

Grüße,
cringely

/edit: tippen will gelernt sein :o)

Sunlight7 19. Dez 2006 16:14

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Na so gefährlich is dann auch wieder net.

Mehr als das benötigte Dateien beschädigt werden können wird wohl net passieren, nur das Problem ist halt dann die Fahrlässigkeit des Programmierers... Der nicht auf die Gefahren hinweist... :shock:

Christian Seehase 19. Dez 2006 16:20

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Moin Sunlight,

nicht ganz.
Standardmässig wird, zumindest bei XP, der Schreibcache für die Festplatten aktiviert.
Wurde der nicht vollständig auf die Platte geschrieben bevor der Strom weg ist, warum auch immer, kann es zu natürlich zu Datenverlust führen, was speziell bei Daten des Dateisystems fatale Auswirkungen haben kann.

Sunlight7 19. Dez 2006 16:53

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Moin Christian,

im Prinzip meinte ich das ja, nur net so ausführlich.

Ich mein, der Schreibcache ist ab Win95 Standardmäßig aktiv :gruebel:

Edit: Aber die Frage ist, ob man ein solches Tool ohne Warnung und Hinweise so einfach zum Download Anbieten sollte.
Bzw. ist der Titel schon irreführend, das hat nichts mit herunterfahren zutun, eher mit runterschmeißen :mrgreen:

Niko 19. Dez 2006 17:20

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Hi,

das Programm ist eine nette Alternative zur schaltbaren Steckdosenleiste. :wink:

Zitat:

Zitat von Sascha L
Ohne es getestet zu haben, behaupte ich, dass das Programm extrem gefährlich ist!

Wenn man nur NTFS Partitionen nutzt, sollte das Programm relativ gefahrlos sein. Wer aber noch FAT verwendet, gefährdet möglicherweise sein ganzes Dateisystem.

[edit] Eventuell werden die Puffer sogar noch auf Platte geschrieben. Ich hab das Programm gerade ausprobiert, während eine externe Festplatte im Standby-Modus war und die lief vor dem Ausschalten erst noch mal an. [/edit]

Zacherl 19. Dez 2006 17:30

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
@Sascha L: Sowas kann meines Wissens nach nicht passieren. Windows entfernt vor dem Ausschalten so ziemlich alles aus dem RAM. Damit werden auch die aktiven Prozesse gekillt --> Niemand schreibt mehr auf die Platte.

Und nochmal erwähne ich, dass Windows diese Funktion selbst ganz zum Schluss des Shutdown Vorganges verwendet.

@cringely: Dein Code ruft das "normale" Herunterfahren des Systems auf. EXW_FORCE hat dabei nur zu folge, dass nicht auf hängende oder noch arbeitende Anwendungen gewartet wird. Allerdings wird trotzdem z.B. das Userprofil, etc von Windows noch gespeichert. Im Endeffekt hätte man dabei auch auf den Shutdown Button klicken können.

Sascha L 19. Dez 2006 18:50

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Ja, Windows nutzt es am ENDE, wo auch kein Prozess mehr aktiv ist. Ich kann mir halt nicht vorstellen, dass in einer Sekunde alle Prozesse, die auf die Festplatte schreiben, beendet werden können. Aber ok - ich werd's trotzdem nicht nutzen :D

@Niko: Ich nutze ausschließlich NTFS-Partitionen und auch da kann dieser Fehler sehr leicht auftreten! Google einfach mal nach diesem Problem ;)

Daniel G 19. Dez 2006 18:53

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von Sascha L
Ohne es getestet zu haben, behaupte ich, dass das Programm extrem gefährlich ist!

Pff.... Ich denke mal, das ist nicht der Fall. Immerhin handelt es sich um einen API - Call und ich denke, dass Windows so intelligent ist, noch schnell den Cache der Festplatte zu leeren. Also so ganz kann man das mit einem Stromausfall dann nicht vergleichen... :wink:

Christian Seehase 19. Dez 2006 18:58

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Moin Daniel,

Zitat:

Zitat von Daniel G
Pff.... Ich denke mal, das ist nicht der Fall. Immerhin handelt es sich um einen API - Call und ich denke, dass Windows so intelligent ist, noch schnell den Cache der Festplatte zu leeren.

Vorsicht. Das ist immerhin eine Funktion der NTDLL.DLL, also auf ziemlich tiefer Ebene von Windows angesiedelt. Es könnte also sehr gut sein, dass diese davon ausgeht, dass so so etwas schon erledigt ist.

Daniel G 19. Dez 2006 19:07

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Aber würde Redmond wirklich so weit gehen, dass sie einen API - Call einbauen, der zu Datenverlust auf Festplattenebene führen kann?

Das Blöde an undokumentierten Funktionen ist ja, dass sie nicht dokumentiert sind. Das würde die Sache einfacher machen....

und über Google findet man nur russische Seiten und ein Erotikforum zu dem Thema.

inherited 19. Dez 2006 19:08

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Vielleicht hat es einen anderen Grund als Faulheit, dass er eben NICHT Dokumentiert ist ;)

Daniel G 19. Dez 2006 19:11

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Zitat:

Zitat von inherited
Vielleicht hat es einen anderen Grund als Faulheit

Hab' ich das irgendwo behauptet? :gruebel:

Zacherl 19. Dez 2006 19:28

Re: InstantShutdown - Herunterfahren in einer Sekunde
 
Nun ja, auf jeden Fall hört man ja auch, wie der Rechner noch arbeitet, kurz bevor es runtergefahren wird ... dieses Arbeiten ist das Rausschmeißen aller Prozesse aus dem RAM, was zur Terminierung dieser führt. Auch arbeitet noch kurz die Festplatte ...

Naja es ist letztendlich wohl jedem seine Sache, das Programm zu benutzen, aber ich für meinen Teil halte es auf jeden Fall nicht für gefährlich.

Florian


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr.
Seite 1 von 2  1 2      

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