AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Shutdown - HerunterfahrProgramm (v 1.11)
Thema durchsuchen
Ansicht
Themen-Optionen

Shutdown - HerunterfahrProgramm (v 1.11)

Ein Thema von Aurelius · begonnen am 30. Jul 2007 · letzter Beitrag vom 13. Aug 2008
Antwort Antwort
Seite 5 von 6   « Erste     345 6      
Benutzerbild von Aurelius
Aurelius
Registriert seit: 29. Jan 2007
Hallo Dp'ler

Seit einiger Zeit bastel ich an einem Programm, mit dem man den PC herunterfahren kann. Nun ist es soweit und dieses Programm ist (so gut wie) fertig.

Features:
  • Shutdown nach bestimmter Zeitvorgabe (wie Ausführen --> shutdown -s -t)
  • regelmäßige Shutdowns
  • Shutdown sobald ein bestimmter laufender Prozess beendet wurde
  • Shutdown sobald ein bestimmtes Fenster geschlossen wird
  • auf Wunsch: wenn CPU-Auslastung 15 Min < 1 wird PC heruntergefahren (Standard, kann geändert werden)
    --> es wird nur heruntergefahren wenn die letzte Nutzereingabe 5 Minuten her ist, selbst wenn das Limit erreicht wurde !!!Neu!!!
  • Wecker eingebaut
  • allg. Designänderung, verbesserte Menüführung
  • Defragmentierung bei nächstem Systemstart
  • Zeitplan zur Nutzung des PC's
Es werden einige Infos in der Registry gesichert (im Autostart von "Current User" sowie in "Software\Shutdown" von "Current User", die Defrag-Infos werden unter Local-Machine gesichert), diese lassen sich aber per integriertem Button einfach löschen.

Getestet wurde es nur unter WinXP, sollte aber auch auf anderen Systemen laufen. Ich würde mich sehr über Designvorschläge sowie sonstige Verbesserungstipps freuen.


//Neueste Version online, läuft jetzt auch auf ME, Win98...
Miniaturansicht angehängter Grafiken
screenshot_421.jpg  
Angehängte Dateien
Dateityp: zip shutdown_191.zip (49,2 KB, 336x aufgerufen)
Dateityp: exe shutdown_118.exe (588,5 KB, 316x aufgerufen)
Dateityp: txt readme_152.txt (2,4 KB, 88x aufgerufen)
 
Benutzerbild von TeronG
TeronG

 
Delphi 2007 Professional
 
#41
  Alt 20. Nov 2007, 07:52
Nette Sache das nur kann dein Programm auch "Updates Installieren und herunterfahren"?
Bekomme sons mecker weil ich nie Updates Insalliere ... Kann mein mini ShutDown nämlich "auch" net ):

PS/BTW: Deine Signatur ist veraltet ... (1.08 --> 1.09) ^^
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

 
Delphi 7 Personal
 
#42
  Alt 20. Nov 2007, 08:23
Was denn für Updates? Windows-Updates?
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

 
Delphi 2007 Professional
 
#43
  Alt 21. Nov 2007, 06:48
Jo!
Wenn sich das System Updates holt (aber noch nicht Installiert) hat man diese Option beim Herunterfahren.
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

 
Delphi 7 Personal
 
#44
  Alt 21. Nov 2007, 07:18
Nein, das kann das Programm nicht. Stelle ich mir auch recht schwierig vor so etwas einzubauen^^
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

 
Delphi 7 Personal
 
#45
  Alt 19. Dez 2007, 10:32
Ich habe mal wieder an Shutdown gearbeitet und die neue version wie immer im ersten beitrag hinterlegt.

Geändert: verbesserten Shutdown sobald ein Fenster geschlossen wird
Jonas
  Mit Zitat antworten Zitat
banick
 
#46
  Alt 29. Dez 2007, 22:37
Also erst mal einen Lob an den Programmierer, ich find das Tool top. Aber ich glaube einen kleinen Bug entdeckt zu haben: zehn sec werden beim Countdown nicht als :10 sondern schon mit Vornull also :010 angezeigt.

Ich hätte mal noch ne kleine Bitte: Kann mir mal jemand den Befehl posten der dann zum runterfahren führt, mit allen benötigten uses (heißt das so??) und allen Parametern für ein ganz einfaches runterfahren. Ich hab den Befehl zwar gefunden, aber wenn ich den abschreibe fehlen laut Delphi entweder Parameter oder es passiert einfach garnichts.

Mein (ziemlich primitiver Quellcode) für einen Sleeper:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 Zeit:integer;

begin
 Zeit:=strtoint(Edit1.Text);
 Zeit:=Zeit*1000;
 sleep(Zeit);
 ExitWindowsEx(EWX_shutdown,0) // wie lautet diese zeile richtig??
end;
Benutze D7 Enterprise

Außerdem wollteich noch fragen ob es möglich ist als "Shutdown-Grund" auch das trennen der Netzwerkverbindung möglich ist. Wäre echt toll wenn du das programmieren/mir erklären könntest.

MfG und schon mal DANKE
banick
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

 
Turbo Delphi für Win32
 
#47
  Alt 29. Dez 2007, 23:05
Zitat von banick:
Ich hab den Befehl zwar gefunden, aber wenn ich den abschreibe fehlen laut Delphi entweder Parameter oder es passiert einfach garnichts.
Hallo,

stimmt doch soweit alles:
Delphi-Quellcode:
uses Windows; ...
Windows.ExitWindowsEx(Windows.EWX_shutdown, 0)
Falls dann nichts passiert weil dir zum Beispiel die Rechte dafür fehlen, dann nimmst du den unteren Code aus der Code-Library

Der Aufruf ExitWin(EWX_SHUTDOWN)
  Mit Zitat antworten Zitat
banick
 
#48
  Alt 30. Dez 2007, 13:02
Danke für die schnelle Hlfe, jetzt geht´s. Mir haben wirklich die Rechte gefehlt

Bleibt nur noch die Frage mit dem Abfragen des Lan-Status. Vielleicht weiß da ja auch irgend jemand Rat

Gruß, banick

Edit:
Hab´s selber gefunden:
http://www.delphipraxis.net/internal...ect.php?t=6541

Also langsam fang ich an an mir zu zweifeln:
ich hab den Quellcode einfach übernommen. Aber dann sagt der mir das die Verbindung immer besteht. Etwas kürzer gefasst lautet die Funktion ja:
Delphi-Quellcode:
function Lanstatus: Boolean;
begin
  Result := (GetSystemMetrics(SM_NETWORK)and $01) = $01;
end;
aber was heißt/bedeutet $01?? Ich kann dafür auch z.B. §02 schreiben, völlig egal, er bringt immer true.Ich hab mir überlegt, das ich doch eigentlich das §01 auf der linken Seite auch weglassen könnte, weil $01 müsste ja logischer weiße gleich $01 sein (oder??). Aber ohne das and $01 bringt er dann immer false. WARUM???

Hier noch mal der kurze Quellcode:
Delphi-Quellcode:
function Lanstatus: Boolean;
begin
  Result := (GetSystemMetrics(SM_NETWORK)and $02) = $02;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if Lanstatus=false then Edit1.Text:='keine Verbindung';
if Lanstatus=true then Edit1.Text:='Verbindung besteht';

end;
Bin auch über eine direte Hilfe per ICQ oder MSN glücklich:
banick@live.de
221528661
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

 
Delphi 7 Personal
 
#49
  Alt 30. Dez 2007, 16:23
Und mit dem Original-Code klappt das nicht?

Sichergestellt dass auch wirklich keine Verbindung besteht, d.h. alle LAN-Kabel getrennt sowie W-Lan deaktiviert?

Ach ja: Danke für die Blumen Den Bug kenn ich schon, aber da ich nicht mehr am PRogramm arbeite...
Jonas
  Mit Zitat antworten Zitat
banick
 
#50
  Alt 30. Dez 2007, 22:10
Da ist garantiert keine Verbindung mehr (beide Symbole in der Taskleiste mit einem schönen roten Kreuz). Nur mal so zum eigentlichen Verständniss: Was heißt den nun eigentlich dieses $01 ??
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 6   « Erste     345 6      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 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