2009-10-11 50 views
0

我想让这个过程开始,但输入和输出都在同一个控制台中。CreateProcessWithLoginW - 重定向标准输出

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标志的,即使你不 设置标志,系统功能 默认 - 启用 如果被设置。

它看起来像Windows API不允许设置这些标志。

相关问题