Task planen

  • C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Task planen

    Hallo,

    ich möchte einen Task im Taskmanager planen. Am besten in C++. Nur leider hab ich das (wie fast immer^^) 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 möglichkeiten?

    mfg
    Yoda2003


    EDIT:

    Bin noch einen riesigen Schritt jetzt wieter. Ich habe einen Source Code für einen Taskplaner:

    Quellcode

    1. HRESULT hr = ERROR_SUCCESS;
    2. ITaskScheduler *pITS;
    3. hr = CoInitialize(NULL);
    4. if (SUCCEEDED(hr)){
    5. hr = CoCreateInstance(CLSID_CTaskScheduler,
    6. NULL,CLSCTX_INPROC_SERVER,
    7. IID_ITaskScheduler,(void **) &pITS);
    8. }
    9. else {
    10. return 1;
    11. }
    12. // Calling ITaskScheduler::NewWorkItem()
    13. // to create a new task
    14. LPCWSTR pwszTaskName;
    15. ITask *pITask;
    16. IPersistFile *pIPersistFile;
    17. pwszTaskName = L"Test Task1";
    18. hr = pITS->NewWorkItem(pwszTaskName,// task name
    19. CLSID_CTask, // class identifier
    20. IID_ITask, // interface identifier
    21. (IUnknown**)&pITask); // address of a pointer
    22. // to the ITask interface
    23. // Call IUnknown::QueryInterface
    24. // to obtain a pointer to
    25. // IPersistFile and IPersistFile::Save,
    26. // to write the task to disk
    27. hr = pITask->QueryInterface(IID_IPersistFile,
    28. (void **)&pIPersistFile);
    29. hr = pIPersistFile->Save(NULL,TRUE);
    30. // creating a trigger
    31. ITaskTrigger* pITaskTrig = NULL;
    32. IPersistFile* pIFile = NULL;
    33. TASK_TRIGGER rTrigger;
    34. WORD wTrigNumber = 0;
    35. hr = pITask->CreateTrigger ( &wTrigNumber, &pITaskTrig );
    36. //filling the TASK_TRIGGER structure
    37. ZeroMemory ( &rTrigger, sizeof (TASK_TRIGGER) );
    38. rTrigger.cbTriggerSize = sizeof (TASK_TRIGGER);
    39. rTrigger.wBeginYear = 2004;
    40. rTrigger.wBeginMonth = 4;
    41. rTrigger.wBeginDay = 10;
    42. rTrigger.wStartHour = 10;
    43. rTrigger.wStartMinute = 0;
    44. // associate the trigger with the task
    45. rTrigger.TriggerType = TASK_TIME_TRIGGER_ONCE;
    46. hr = pITaskTrig->SetTrigger ( &rTrigger );
    47. hr = pITask->QueryInterface ( IID_IPersistFile,
    48. (void **) &pIFile );
    49. hr = pIFile->Save ( NULL, FALSE );
    50. printf("Succesfully created task and trigger.\n");
    Alles anzeigen

    Nur wie kann ich den compilieren? Eine Konsolen Anwendung scheint es net zu sein. Aber auf MFC Basis hab ich ihn auch noch net kompilieren können :(