2009-10-11 3 views
0

Что бы я хотел, это запустить процесс, но все входные и выходные данные должны находиться в одной консоли.CreateProcessWithLoginW - Перенаправление STDOUT

if(CreateProcessWithLogonW(user,domain, pass, LOGON_WITH_PROFILE, NULL, cmd, 0, 0, 0, &sa, &pe)) 
{ 
    printf("[~] Process spawned with PID %X\n", pe.dwProcessId); 
} 
else 
{ 
    printf("[!] Failed to create process. Error Code: %X\n", GetLastError()); 
} 

Когда я использую этот код, он создает совершенно новое окно вместо того, чтобы иметь его в одном окне. Есть ли способ отключить флаг CREATE_NEW_CONSOLE, потому что даже когда я устанавливаю его в 0, он все равно создает новую консоль.

ответ

1

Согласно помощь по этому методу:

CREATE_DEFAULT_ERROR_MODE, CREATE_NEW_CONSOLE и CREATE_NEW_PROCESS_GROUP флаги включается default-, даже если вы не установить флаг, системные функции, как если он Были установлены.

Похоже, что Windows API не позволяет эти флаги не устанавливаться.

Смежные вопросы