How to display all the tasks in Task scheduler
03:38 07 Feb 2019

I want to display all the tasks under Task Scheduler using the COM library.

I tried using the programs on learn.microsoft.com which uses the COM objects. But instead of displaying all the 60 tasks, it displays only 12 tasks

//Get the pointer to the root task folder.
ITaskFolder *pRootFolder = NULL;
hr = pService->GetFolder(_bstr_t(L"\\"), &pRootFolder);

pService->Release();
if (FAILED(hr))
{
    printf("Cannot get Root Folder pointer: %x", hr);
    CoUninitialize();
    return 1;
}

//  -------------------------------------------------------
//  Get the registered tasks in the folder.
IRegisteredTaskCollection* pTaskCollection = NULL;
hr = pRootFolder->GetTasks(NULL, &pTaskCollection);

pRootFolder->Release();
if (FAILED(hr))
{
    printf("Cannot get the registered tasks.: %x", hr);
    CoUninitialize();
    return 1;
}

LONG numTasks = 0;
hr = pTaskCollection->get_Count(&numTasks);


TASK_STATE taskState;

for (LONG i = 0; i < numTasks; i++)
{
    IRegisteredTask* pRegisteredTask = NULL;
hr = pTaskCollection->get_Item(_variant_t(i + 1), &pRegisteredTask);

    if (SUCCEEDED(hr))
    {
        BSTR taskName = NULL;
        hr = pRegisteredTask->get_Name(&taskName);
        if (SUCCEEDED(hr))
        {
            printf("\nTask Name: %S", taskName);
            SysFreeString(taskName);

            hr = pRegisteredTask->get_State(&taskState);
            if (SUCCEEDED(hr))
                printf("\n\tState: %d", taskState);

I expected the output to display all the tasks, but it displays only a selected number of tasks.

https://learn.microsoft.com/en-us/windows/desktop/taskschd/displaying-task-names-and-state--c---

This is the link I used for the program

c++ windows com windows-task-scheduler