CreateProcess没有';运行应用程序(nc.exe)是否正常?

CreateProcess没有';运行应用程序(nc.exe)是否正常?,c,winapi,createprocess,netcat,C,Winapi,Createprocess,Netcat,问题是,当我使用上述代码中的nc语法从CMD打开nc.exe时,它工作并连接到我的服务器。但是,当我通过我的程序(使用上述代码)执行此操作时,它只打开nc.exe窗口,但不允许我运行命令,我只得到一个空白的CMD窗口,没有任何提示 PROCESS_INFORMATION pi; STARTUPINFO si; memset(&si, 0, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); TCH

问题是,当我使用上述代码中的
nc
语法从CMD打开nc.exe时,它工作并连接到我的服务器。但是,当我通过我的程序(使用上述代码)执行此操作时,它只打开nc.exe窗口,但不允许我运行命令,我只得到一个空白的CMD窗口,没有任何提示

    PROCESS_INFORMATION pi;
    STARTUPINFO si;
    memset(&si, 0, sizeof(STARTUPINFO));
    si.cb = sizeof(STARTUPINFO);

    TCHAR nc[] = TEXT("nc.exe localhost 4444");     

    CreateProcess(NULL, nc, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
我是否应该使用任何其他参数来
CreateProcess
,以使其正常工作(或手动运行时正常工作)?我在想,也许这个问题与StdInput-StdOutput有关,但我不确定该怎么办


谢谢。

您可以使用/K参数通过
cmd.exe
运行它,以强制DOS窗口保持打开状态,例如:

cmd.exe /K nc.exe localhost 4444