Неприменимость настроект STARTUPINFO

У меня есть код создания процесса. Почему дочерний процесс, выводящий Hello на экран, не использует настройки STARTUPINFO?

#include <windows.h>
#include <stdio.h>

int main() {
    STARTUPINFO si;
    PROCESS_INFORMATION pi;


    ZeroMemory(&si, sizeof(si));
    ZeroMemory(&pi, sizeof(pi));
    si.cb = sizeof(si);


    si.dwFlags = STARTF_USEPOSITION | STARTF_USESIZE | STARTF_USESHOWWINDOW;
    si.dwX = 100;
    si.dwY = 100;
    si.dwXSize = 800;
    si.dwYSize = 600;
    si.wShowWindow = SW_SHOW;

    // Создание нового процесса
    if (!CreateProcess(
            NULL,                      // Модуль (cmd.exe)
            "cmd.exe /K echo Hello",   // Команда для выполнения
            NULL,                      // Дескриптор безопасности процесса
            NULL,                      // Дескриптор безопасности потока
            FALSE,                     // Не наследовать дескрипторы
            CREATE_NEW_CONSOLE,        // Флаг: создать новую консоль
            NULL,                      // Родительская переменная окружения
            NULL,                      // Рабочая директория
            &si,                       // Указатель на STARTUPINFO
            &pi)) {                    // Указатель на PROCESS_INFORMATION
        printf("Ошибка создания процесса (%d).\n", GetLastError());
        return 1;
    }

    WaitForSingleObject(pi.hProcess, INFINITE);

    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);

    printf("Bye\n");
    getchar();
    return 0;
}

Ответы (0 шт):