none
Sleep RRS feed

  • Frage

  • Also, ich wollte mir ein Programm erstellen, mit dem man sozusagen ne sleep-fkt für n pc hat. Netter weise hat man mir schon geholfen, wie der Befehl zum herunterfahren des pcs heißt. Das mit dem Timer hab ich selbst hingekriegt, sprich die sleep-fkt funktioniert. Allerdings nur bei einer cpu-auslastung von 100%!!!! D.h. ich kann z.B. nicht nebenbei ne dvd gucken denn das ruckelt verdammt. Also bringt mir das gar nichts. Kennt jmd. ne lösung für ne sleep-fkt. für n pc zu programmieren, ohne das die cpu-auslastung gleich auf 100% steigt????
    Samstag, 2. September 2006 12:05

Antworten

  • Hallo Raymy,

    wenn ich dich richtig verstanden habe baust du an einem Programm das zu einem bestimmten Zeitpunkt oder nach einer bestimmten Zeitspanne (?) irgend einen Befehl ausrührt - in deinem Fall den PC herunter zu fahren.
    Weiter gehe ich davon aus, dass du das über eine klassische Windows-Anwendung realisiert hast.

    Eine 100%ige CPU-Auslastung erhältst du eigentlich nur, wenn du entweder so richtig viel rechnest - was in deinem Fall vermutlich nicht die Ursache ist - oder du irgendwo eine verhängnisvolle Endlosschleife gebaut hast. Letzteres wird wohl der Fall sein.
    Da ich in deinem Text das Wort "Timer" gefunden habe kann ich mir allerdings nicht vorstellen an welcher Stelle deine Schleife sein soll.

    Timer führen eine Funktion nach einer bestimmten Zeit aus. Je nachdem wie genau der Zeitpunkt des Herunterfahrens getroffen werden soll führst du die Funktion des Timers eben entsprechend oft aus. Ich vermute aber mal, dass in deinem Fall einmal pro Sekunde wirklich reichen sollte. Du trägst also in der Eigenschaft "Interval" 1000 (für 1000 Millisekunden = 1 Sekunde) ein. Standardmäßig steht da 100, also 10 mal pro Sekunde.

    Im Funktionsrumpf des Timer selbst (wird automatisch erzeugt, wenn du Doppelklick auf das Timersymbol machst) kannst du dann hinterlegen was passieren soll. Dort prüfst du auf die Bedingung die zutreffen soll, wenn der Rechner runterfahren soll und führt dann den Befehl ggf. aus. Danach kann die Funktion wieder beendet werden weil der Timer sie ja immer wieder aufruft. Ich vermute jetzt einfach mal, dass du dort irgendwo eine Schleife eingebaut hast um innerhalb der Funktion immer wieder zu prüfen.

    Viele Grüße
    Tom
    Mittwoch, 20. September 2006 13:21

Alle Antworten

  • Hy..

    also ich find es ja super das du das selber programmieren willst. Hab auch einen Birthday Reminder gebaut obwohl es 100 gibt.. (nur keiner so geil wie meiner :-))

    Aber das gibts auch schon:

    http://www.daniel-manger.de/freeware.html

    Ganz unten auf der Seite.


    Weiterhin mach ich es einfach so:

    Ich schreib den schicken shutdown befehl in eine bat (Batch) Datei und dann führe ich diese zu einer bestimmten Zeit mittels der Sheduled Tasks von Windoof aus. Das is das gleiche im Prinzip und braucht sogut wie 0 Ressourcen!

    Grüße

    Ben
    Samstag, 2. September 2006 16:42
  • könntest du mir bitte den quelltext schreiben. denn ich habe ehrlich gesagt keine ahnnung was eine batch-datei ist und wie man das mit dem sheduled task macht. Und das mit der site is zwar nett gemeint aber ich will es selbst machen sonst lern ich ja nichts draus.
    Samstag, 2. September 2006 18:29
  • Hallo Raymy,

    wenn ich dich richtig verstanden habe baust du an einem Programm das zu einem bestimmten Zeitpunkt oder nach einer bestimmten Zeitspanne (?) irgend einen Befehl ausrührt - in deinem Fall den PC herunter zu fahren.
    Weiter gehe ich davon aus, dass du das über eine klassische Windows-Anwendung realisiert hast.

    Eine 100%ige CPU-Auslastung erhältst du eigentlich nur, wenn du entweder so richtig viel rechnest - was in deinem Fall vermutlich nicht die Ursache ist - oder du irgendwo eine verhängnisvolle Endlosschleife gebaut hast. Letzteres wird wohl der Fall sein.
    Da ich in deinem Text das Wort "Timer" gefunden habe kann ich mir allerdings nicht vorstellen an welcher Stelle deine Schleife sein soll.

    Timer führen eine Funktion nach einer bestimmten Zeit aus. Je nachdem wie genau der Zeitpunkt des Herunterfahrens getroffen werden soll führst du die Funktion des Timers eben entsprechend oft aus. Ich vermute aber mal, dass in deinem Fall einmal pro Sekunde wirklich reichen sollte. Du trägst also in der Eigenschaft "Interval" 1000 (für 1000 Millisekunden = 1 Sekunde) ein. Standardmäßig steht da 100, also 10 mal pro Sekunde.

    Im Funktionsrumpf des Timer selbst (wird automatisch erzeugt, wenn du Doppelklick auf das Timersymbol machst) kannst du dann hinterlegen was passieren soll. Dort prüfst du auf die Bedingung die zutreffen soll, wenn der Rechner runterfahren soll und führt dann den Befehl ggf. aus. Danach kann die Funktion wieder beendet werden weil der Timer sie ja immer wieder aufruft. Ich vermute jetzt einfach mal, dass du dort irgendwo eine Schleife eingebaut hast um innerhalb der Funktion immer wieder zu prüfen.

    Viele Grüße
    Tom
    Mittwoch, 20. September 2006 13:21