Task planen



  • Hallo,

    ich möchte einen Task im Taskmanager planen. Am besten in C++. Nur leider hab ich das noch nicht hinbekommen

    Ich habe es schon probiert mit dem eingebeaufforderungs Befehl "AT" aber der bietet mir zuwenig Möglichkeiten
    So möchte ich z.B. dass der PC aus dem Ruhezustandsmodus erwacht bzw. der Prozess nur ausgeführt wird, wenn der Benutzer gerade aktiv ist. Das geht (meiner Ansicht nach) mit dem AT Befehl leider nicht
    Gibt es noch andere, vllt. "reinrassige" C++ Befehle/Möglichkeiten?

    mfg
    Yoda2003



  • Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Yoda2003 schrieb:

    Gibt es noch andere, vllt. "reinrassige" C++ Befehle/Möglichkeiten?

    Unter Garantie nicht. Und warum C++ keine Funktion dafür kennt, darfst du selber rausfinden.

    Du kannst aber mit C++ eine API Funktion aufrufen, die das kann. Welche das ist kannst du im PSDK oder onlin eim MSDN nachschlagen.





  • Jochen Kalmbach schrieb:

    http://www.codeproject.com/system/taskscheduler.asp

    im Prinzip ist es genau das was ich gesucht habe 🙂
    Vielen Dank für die Antwort. Jetzt hab ich (wahrscheinlich eine sehr lächerliche Anfängerfrage) wie kompiliere ich das nun? Eine Konsolenanwendung scheint das ja nicht zu sein Aber mit MFC bekomm ich das auch net hin 😞



  • Du musst nur CTask.h und CTask.cpp in Dein Projekt aufnehmen und dann die Klasse verwenden... Ob es Console oder Windows ist spielt dabei keine Rolle..

    Was ist denn konkret Dein Problem (Fehlermelung?)



  • im Moment habe ich einen ganz komischen Fehler.
    Und zwar scheitert es an der include Datei stdafx.h.

    Der Compiler (habs mit Microsoft Visual Studio 6 und 2005 probiert) meldet:
    fatal error C1189: #error : include 'stdafx.h' before including this file for PCH

    weiß da erst mal auch leider nicht weiter 😞

    EDIT

    Hab es jetzt doch hinbekommen. Aber ich glaube das beantwortet meine oben gestellte Frage leider nicht 😞

    Ich kann immer noch nicht dem Task sagen, dass z.B. der PC aus dem Ruhezustand reaktiviert werden soll oder der Task nur ausgeführt werden soll, wenn der Benutzer angemeldet ist, oder habe ich bloß was übersehen?



  • Siehe "IScheduledWorkItem::SetFlags" mit TASK_FLAG_RUN_ONLY_IF_LOGGED_ON und TASK_FLAG_SYSTEM_REQUIRED

    Entweder verwendest Du direkt diese Klasse oder ergänzt die CTask-Klasse, damit auch das deFlags korrekt durchgeschleusst wird...



  • Ich habe es leider immer noch nicht hinbekommen 😞

    Im moment besteht das Problem darin, was der Parameter CTime in der afx.h datei macht bzw. in der Programmzeile:

    BOOL  GetStartDateTime ( CTime& ) const;        // pobierz date i godzine startu
    

    (das beste wäre natürlich, wenn irgendwer hier mir einen passenden quellcode liefern könnte, der 1 programm zu einen bestimmten zeitpunkt mit hilfe des taskplaners unter windows starten könnte)

    mfg
    yoda2003


Anmelden zum Antworten