从任务计划程序触发时,C ++ CreateProcess失败

时间:2017-05-29 22:08:56

标签: c++ scheduled-tasks createprocess

我有一个使用CreateProcess的C ++程序。这在我手动触发应用程序时工作正常。但是,当从任务调度程序触发应用程序时,它返回符合错误代码6,此错误代码引用了什么?

在网上,我找不到与错误代码对应的任何消息?

我使用的代码:

int StartCommand(char* Command) {
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );
    bool CommandStatus = CreateProcess(NULL, Command, NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED | CREATE_BREAKAWAY_FROM_JOB, NULL, NULL, &si, &pi);
    AssignProcessToJobObject(FilerHandle, pi.hProcess); // Does not work if without CREATE_BREAKAWAY_FROM_JOB
    ResumeThread(pi.hThread);
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    if (CommandStatus) {
        return pi.dwProcessId;
        }
    cout << GetLastError() << endl; //RETURNS ME 6
    Message = "Couldn't start command!";
    Exit(Message);
    return 0;
    }

请注意,当我手动触发时,相同的命令会成功执行

0 个答案:

没有答案