Non so dirti se la tua idea sia la migliore possibile, però per quanto riguarda il problema con l'argomento della funzione CreateProcess direi che potresti provare a fare così:
LPCWSTR pathname = L"C:\\WINDOWS\\System32\\notepad.exe";
CreateProcess(pathname, NULL, NULL, NULL, false, CREATE_NO_WINDOW, NULL, NULL, &sInfo, &pInfo)
visto che LPCWSTR sta per Long Pointer to Constant Wide String