Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Computer am herunterfahren hindern (https://www.delphipraxis.net/50962-computer-am-herunterfahren-hindern.html)

XeRo 3. Aug 2005 12:54


Computer am herunterfahren hindern
 
hi. Ich will verhindern dass der PC herunterfahren kann...Der ist nämlich der einzige PC in Netzwerk mit Internet und der soll immer laufen...

Ich hab mir gedacht das mit dem dos befehl "shutdown -a" irgendwie zu machen...nur weiß ich nicht wie das gehen soll...hab schon versucht den befehl einfach ins onclose der form zu schreiben...ging aber nicht....


hat wer nen Vorschlag? :stupid:

dahead 3. Aug 2005 13:01

Re: Computer am herunterfahren hindern
 
habe für dich evtl. was brauchbares gefunden:

http://www.swissdelphicenter.ch/de/showcode.php?id=939

du kannst aber auch hier im forum suchen, da gibt es glaube ich auch (mind.) einen thread dazu.

Matze 3. Aug 2005 13:01

Re: Computer am herunterfahren hindern
 
Du könntest vielleicht MSDN-Library durchsuchenWM_QUERYENDSESSION abfangen.

Basilikum 3. Aug 2005 13:08

Re: Computer am herunterfahren hindern
 
sofern Du WinNT/2k/XP verwendest, würde ich dies administrativ angehen indem ich den "unwissenden" Benützern das Privileg zum Herunterfahren des Systems entziehe... Du selber dürftest ja wissen, dass das System am laufen bleiben sollte.... (je nach OS irgendwo bei Systemsteuerung -> Verwaltung -> "Lokale Sicherheitsrichtlinie")

Olli 3. Aug 2005 13:52

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von Matze
Du könntest vielleicht MSDN-Library durchsuchenWM_QUERYENDSESSION abfangen.

Das tut nich. Problem ist, daß man das Herunterfahren ja per Flag erzwingen kann. Da hilfts auch nicht, wenn das Programm "Nein!" sagt ;)

XeRo 3. Aug 2005 23:30

Re: Computer am herunterfahren hindern
 
Ok Danke!

@Basilikum: Es gibt nur einen Benutzer für alle und dass ist der Admin...

Olli 4. Aug 2005 10:23

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von XeRo
Es gibt nur einen Benutzer für alle und dass ist der Admin...

Wozu willst du es dann überhaupt verbieten? Als Admin kannst du fast alles. Und für das was du noch nicht kannst, kannst du dir die Rechte besorgen.

Achso, wenn du wissen willst wie es "shutdown -a" macht. Es benutzt einfach MSDN-Library durchsuchenAbortSystemShutdown()

XeRo 4. Aug 2005 10:35

Re: Computer am herunterfahren hindern
 
Naja es gibt immer welche die reflexartig den PC abschalten und damit das Internet für das gesamte Netzwerk...

NicoDE 4. Aug 2005 10:38

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von XeRo
Naja es gibt immer welche die reflexartig den PC abschalten und damit das Internet für das gesamte Netzwerk...

Solche Leute kriegen normalerweise keine Adminrechte :)

XeRo 4. Aug 2005 10:42

Re: Computer am herunterfahren hindern
 
Es handelt sich hierbei um ein Familiennetzwerk und nachdem der PC meinem Vater ghört kann ich ihm ja nicht die Admin Rechte wegnehmen....oder :gruebel:

NicoDE 4. Aug 2005 10:58

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von XeRo
Es handelt sich hierbei um ein Familiennetzwerk und nachdem der PC meinem Vater ghört kann ich ihm ja nicht die Admin Rechte wegnehmen....oder :gruebel:

Ganz abgesehen von den familären Problemen die dadurch entstehen könnten, ...
Eine erfolgreiche Verhinderung des Herunterfahrens ist nur mit einem tiefen Eingriff in das System zu bewerkstelligen, da Windows diese Funktionalität selbst nicht anbietet. Du wirst Dir entweder (sehr viel) Arbeit machen müssen, oder eben versuchen deinen Vater, ähm, zu disziplinieren :)

Luckie 4. Aug 2005 11:09

Re: Computer am herunterfahren hindern
 
Und da es nur ein, wie du selber sagst, familiäres Netzwerk ist, ... :roll:

Olli 4. Aug 2005 11:35

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von XeRo
Es handelt sich hierbei um ein Familiennetzwerk und nachdem der PC meinem Vater ghört kann ich ihm ja nicht die Admin Rechte wegnehmen....oder :gruebel:

Warum eigentlich nicht? Erkläre ihm, daß die Adminrechte verschiedene weitere Implikationen haben.

Alternative: dein Vater ist doch vielleicht nicht besonders versiert in Sachen Computer, richtig? Dann könntest du doch die GINA.DLL so umbauen, daß sie nach einem Grund für das Herunterfahren fragt. Wie wäre das? Alternativ kann auch eine Warnung angezeigt werden, daß dann zB das Netzwerk ausfällt usw.!

NicoDE 4. Aug 2005 11:42

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von Olli
Dann könntest du doch die GINA.DLL so umbauen, daß sie nach einem Grund für das Herunterfahren fragt.

Unerfahrene Benutzer interessieren sich nicht für Logik oder irgendwelche Zusammenhänge - sie lernen Arbeitsabläufe auswendig auszuführen und werden erst wahnsinnig, wenn etwas anders ist als 'immer'.
Kurz: der Grund wird immer der selbe sein und der Rechner wird trotzdem heruntergefahren ohne den Sohn zu fragen :)

Luckie 4. Aug 2005 11:44

Re: Computer am herunterfahren hindern
 
Nicht zu vergessen, dass solche Benutzer dazu neigen, in solchen Fällen einfach den Powerknopf zu drücken. ;)

rwachtel 4. Aug 2005 11:52

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von Olli
[...] Dann könntest du doch die GINA.DLL so umbauen, daß sie nach einem Grund für das Herunterfahren fragt. [...]

Na, das kann man aber auch einfacher haben:

Start/Ausführen "gpedit.msc"

Computerkonfiguration/Administrative Vorlagen/System/Ereignisprotokollierung für Herunterfahren anzeigen

Olli 4. Aug 2005 12:41

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von rwachtel
Computerkonfiguration/Administrative Vorlagen/System/Ereignisprotokollierung für Herunterfahren anzeigen

Mööööp. Geht leider erst ab Windows XP. Windows 2000 hat das noch nicht, ich aber Windows 2000.
... und vom Fragesteller wissen wir es nicht ;)

rwachtel 4. Aug 2005 12:44

Re: Computer am herunterfahren hindern
 
@Olli: Na, dann kannst Du aber auch nicht von der Existenz einer GINA.DLL ausgehen.

XeRo 4. Aug 2005 13:31

Re: Computer am herunterfahren hindern
 
manchmal habe ich das gefühl mein kleiner bruder schaltet den pc absichtlich aus...



na gut...ich werd mir die ein oder andere möglichkeit überlegen...bin jetzt erst mal ne woche in kärnten...also bis dann und danke @ all...

Olli 4. Aug 2005 13:36

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von rwachtel
@Olli: Na, dann kannst Du aber auch nicht von der Existenz einer GINA.DLL ausgehen.

:shock: Watt? Die GINA existiert in mindestens jeder Windowsversion seit Windows NT 4.0 - und damit du siehst, daß ich durchaus über etwas rede, mit dem ich mich auskenne:
http://assarbad.net/stuff/agreementgina2+src.rar

@XeRo: Viel Spaß dort ...

rwachtel 4. Aug 2005 13:49

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von Olli
[...] Die GINA existiert in mindestens jeder Windowsversion seit Windows NT 4.0 [...]

Und was ist mit Windows 95 und Konsorten? Der OP hat - wie Du auch richtig angemerkt hast - nicht geschrieben, was eingesetzt wird.

Luckie 4. Aug 2005 13:52

Re: Computer am herunterfahren hindern
 
XP ist sehr wahrscheinlich, denke ich mal.

rwachtel 4. Aug 2005 14:15

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von Luckie
XP ist sehr wahrscheinlich, denke ich mal.

:wink: Ja, davon bin ich ausgegangen... :wink:

Olli 4. Aug 2005 14:26

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von rwachtel
Und was ist mit Windows 95 und Konsorten?

Die haben leider keine Möglichkeit des Internet Connection Sharing eingebaut. Fallen also wohl raus. Wären mir aber auch sonst egal, weil die Windows-Zukunft den NT-artigen gehört ;)

Zitat:

Zitat von Luckie
XP ist sehr wahrscheinlich, denke ich mal.

Noch liegt Windows 2000 vorn (diverse Tests, die das von Webseitenzugriffen hochrechnen). War für mich auch überraschend, aber so ist es wohl. Ich persönlich denke, daß das mit der Aktivierung zu tun hat :-|

rwachtel 4. Aug 2005 14:38

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von Olli
Die haben leider keine Möglichkeit des Internet Connection Sharing eingebaut. [...]

ICS war ab Windows 98 SE enthalten: http://www.annoyances.org/exec/show/ics

Zitat:

Wären mir aber auch sonst egal, [...]
Hört sich nach einer schlechten Rechtfertigung für Dein etwas arrogant klingendes

Zitat:

Mööööp.
an.

Luckie 4. Aug 2005 14:54

Re: Computer am herunterfahren hindern
 
Könntet ihr bitte euer privat Gespräch wo anders fortsetzen?

Olli 4. Aug 2005 16:00

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von rwachtel
ICS war ab Windows 98 SE enthalten: http://www.annoyances.org/exec/show/ics

Okay, war mir nicht bewußt. Hatte privat nur das erste W98. Dann wäre also W98 SE oder ME durchaus möglich.

Zum Rest äußere ich mich lieber nicht ... was nun wiederum an einem einzelnen Wort in schriftlicher Kommunikation arrogant sein kann :gruebel:

yankee 4. Aug 2005 17:33

Re: Computer am herunterfahren hindern
 
oh gott...
Ich kenne so das Problem mit dem runterfahren von microsoft installationen. Ich habe dann immer TextEd (siehe DP-Freewareabteilung) im Hintergudn laufen, der fragt dann, ob man Änderungen speichern will, dann klicke ich auf Abbrechen und das ganze Runterfahren ist abgebrochen ;-).
Aber mal so ganz im Ernst: Wenn du deinem Vater sagst, er soll den Computer nicht auschalten udn er macht es trotzdem und du hast noch ein Problem mit deinem Bruder und so, dann hilft dir das wahrscheinlich auch nicht weiter, weil die, wie bereits erwähnt dann einfach den Stecker rausziehen. Du solltest darüber nachdenken den compi woanders hinzustellen. Wo er niemanden zugänglich ist, außer dir. Wegen dem Problem, dass der Rwechner nicht dir gehört: Wenn ich das richtig verstanden habe, setzt du den nur als Internetgateway ein. Sonst nimm doch einfach IPcop. (irgendwie scheint deren Server gerade down zu sein, geht aber bestimmt gleich wieder. Oder nimm den holländischen Server. Das läuft auch auf 'nem Pentium 1 problemlos und den bekommst du für ein paar Euro bei ebay ;-).

Wenn es eben wirklich dieser Server sein muss, reicht es wahrscheinlich ein Delphi-Programm zu schreiben, was, wenn es geschlossen wird einfach seine eigene Schließung unterbricht:
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    if not schliess then Action :=caNone;
end;
Schliess ist dabei einfach nur 'ne globale Boolean und damit du das Programm überhaupt noch beenden kannst, gibt es in dem Programm eben ein button mit dieser procedure:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    schliess :=true;
    close;
end;
Wahrscheinlich nicht die feine Art, aber die einfachste. Wenn du es fein machen willst, hast du ja schon ein paar Möglichkeiten.

Olli 4. Aug 2005 17:40

Re: Computer am herunterfahren hindern
 
Zitat:

Zitat von yankee
Wenn es eben wirklich dieser Server sein muss, reicht es wahrscheinlich ein Delphi-Programm zu schreiben, was, wenn es geschlossen wird einfach seine eigene Schließung unterbricht:

Leider nein, wie NicoDE bereits in seinem ersten Beitrag in diesem Thema erwähnte.

Abgesehen davon, daß man einfach auf "Programm beenden" klicken kann (üblicherweise sollte ein Dialog bei "hängenden Programmen" während des Shutdowns erscheinen) um selbiges zu tun, gibt's auch noch EWX_FORCE im Zusammenhang mit MSDN-Library durchsuchenExitWindowsEx().

Aber ich denke mal dem Vater muß man das nur einfach beibringen ... bzw. ihn immer darauf aufmerksam machen.


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