Download

CreateProc return an incorrent ProcessID, how can i get the real ProcessID???

hi, genius

i got two exe, one is MyProject.exe, and another is MyProject2.exe.
the first one would call up the second one in the EventBeginPlay, by the simple code below:



    uint32 OutProcessID = 0;
    FProcHandle ProcHandle = FPlatformProcess::CreateProc(*URL, NULL, false, true, true, &OutProcessID, 0, NULL, NULL);

    return ProcHandle.IsValid() ? OutProcessID : -1;


now i got this two exe running successfully, but, the OutProcessID isn’t the real ProcessID. i take this ProcessID to enum windows, nothing will get.

see the debug pics:
6472 is my first exe, by calling FPlatformProcess::CreateProc(), i got a ProcessID 3412, however 4456 is auto called up at the same time.

if kill 3412 first, nothing would happen, 4456 still works fine;
if kill 4456 first, 3412 would got killed automatically.

so, i guess, 4456 is the real Process, but FPlatformProcess::CreateProc() only give me the fake one,
how can i get the real ProcessID???

please help, many thanks to you guys!!