UPDATE 26.9.07: Nun doch eine Gültigkeitsabfrage eigebaut. Reine Texteingaben werden zurückgeworfen, sowie Eingaben größer als 43200 Minuten = 1 Monat. Kleine Ungereimtheiten sind noch da -> Bekannte Probleme
*Quellcode aktualisiert
*Neueste Version in den Anhang hochgeladen
Sinn des Programmes:
Wer kennt das nicht? Abends will man zum Einschlafen noch ne Runde was am Lappi gucken. Aber wer macht mitten in der Nacht den Rechner aus ? Es gibt dafür viele, sehr viele Programme. Aber alle hatten Sachen, die mich stören. Zum einen muß man sie immer installieren, zum anderen haben sie zu viele (sinnlose) Funktionen und eine GUI, die man nicht unbedingt braucht. Dann gibt es noch die Möglichkeit es direkt in der Console (etwas umständlich) über die shutdown.exe zu machen.
Mein Programm ist eigentlich nichts weiter als eine Eingabemaske für die windowseigene shutdown.exe.Es ist nur eine Datei "shut-x.exe" und Bedarf keiner Installation. Nach dem Programmstart gibt man einfach die Zeit bis zum Shutdown ein. Danach wird einem nur noch die Restzeit angezeigt. Ist diese abgelaufen, fährt der Rechner runter. Zum Abrechen des Programmes muß man es einfach nur schließen
Bekannte Probleme:
Bei der Eingabe der Zeit kann es sein, wenn man "88gg" oder ähnliches eingibt, dass das Programm nur die 88 sieht und normal fortfährt.
Funktion unter Win2000:
Kopiert man die shutdown.exe (wo bekommt man die bloß her ) in "Windows\system32" kann das Programm auch unter Win2000 benutzt werden.
Zu dem Programm und Quellcode:
Ich habe alles selber geschrieben und nichts aus anderen Projekten kopiert. Was mit dem hier veröffentlichten Quellcode gemacht wird, ist mir egal. So komplex ist er nich und viel Arbeit war er auch nicht. Ihr könnt ihn benutzen, verändern und was ihr sonst noch so damit machen wollt. Aber kopiert ihn nicht zu 100% und sagt es sei eure eigene Arbeit! Danke.
Das Programm wurde von mir auf mehreren Rechnern getestet. Die angehängte Datei enthält genau den hier abgebildeten Quellcode. Es sind keine Viren oder ähnliches von mir in die exe geschrieben worden. (Misstrauische Leute können diese dennoch gerne scannen)
#include <stdio.h> #include <stdlib.h> // Programm zum zeitversetzten Herunterfahren von Windows XP int main(void) //Programmstart { double zeit = 0; // Zeit bis zum Shutdown int rest = 0; // Restzeit bis zum Shutdown (zeit - i) int i = 0; // Anzahl der Schleifendurchläufe // (1 Durchlauf pro Minute) int eingabeok = 0; // Schalter wird bei richtiger Eingabe 1 gesetzt while(eingabeok != 1) // 1. Schleife Anfang { // Läuft solange bis Eingabe OK printf("Zeit bis zum Shutdown in Minuten eingeben:"); fflush(stdin); // Tastaturspeicher leeren if( (scanf("%lf",&zeit)) == 1) // Einlesen des Wertes&Prüfen ob Wert gültig { if((zeit > 0) && (zeit < 43201))// Prüft ob Wert größer 0 und kleiner { // 43201 Minuten = 1 Monat eingabeok = 1; // Schalter zum Beenden der 1.Schleife } } } // 1. Schleife Ende for(i=0; i< zeit; i++) // 2. Schleife Anfang (Dauer 1 Minute) { system("cls"); // Löschen des Bildschirminhaltes rest = zeit - i; // Berechnung der Restzeit if(rest > 1) // Für Trennung von Minuten und Minute { printf("%d Minuten bis zum Shutdown",rest); } else { printf("%d Minute bis zum Shutdown",rest); } sleep(60000); // System wartet 1 Minute = 60000 ms } // 2. Schleife Ende system("shutdown.exe -s -t 00 "); // Windows XP-Befehl zum Herunterfahren // Für mehr Infos in der Console // shutdown -help eingeben return 0; } //Programmende
Als Anhang das Programm als auführbare Datei.
Dieser Beitrag wurde von Timo1982 bearbeitet: 26. September 2007 - 15:52