以编程方式为任务计划程序创建/删除任务

时间:2011-07-05 11:32:16

标签: c++ windows scheduled-tasks

我正在尝试创建一个应该以最高权限执行的任务(通过C ++),虽然我无法在任务计划程序的文档中看到如何设置该标志(可通过任务计划程序UI获得)。

想法?

4 个答案:

答案 0 :(得分:3)

这是ITaskDefinition::Principal属性。将RunLevel中的IPrincipal设置为TASK_RUNLEVEL_HIGHEST

答案 1 :(得分:2)

答案 2 :(得分:0)

您可能希望探索MSDN Task Scheduler Reference。另外,请检查Schtasks.exe

答案 3 :(得分:0)

以下是如何设置运行级别的代码段。

IPrincipal *pPrincipal = NULL;
hr = pTask->get_Principal(&pPrincipal);
if (FAILED(hr))
    {
        printf("\nCannot get principal pointer: %x", hr);
        pRootFolder->Release();
        pTask->Release();
        CoUninitialize();
        return false;
    }
//  Set up principal run level to the highest one
hr = pPrincipal->put_RunLevel(TASK_RUNLEVEL_HIGHEST);
pPrincipal->Release();
if (FAILED(hr))
{
    printf("\nCannot put principal info: %x", hr);
    pRootFolder->Release();
    pTask->Release();
    CoUninitialize();
    return false;
}