0

我想要的是让进程启动,但输入和输出都在同一个控制台中。

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,它仍然会创建一个新的控制台。

4

1 回答 1

1

根据此方法的帮助:

默认情况下启用 CREATE_DEFAULT_ERROR_MODE、CREATE_NEW_CONSOLE 和 CREATE_NEW_PROCESS_GROUP 标志 — 即使您不设置标志,系统也会像设置一样运行。

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

于 2009-10-11T17:41:55.187 回答