问题是,当我使用上面代码中的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有关,但我不确定从那里去哪里。
感谢。
答案 0 :(得分:1)
您可以使用 / K 参数通过cmd.exe
运行它,以强制DOS窗口保持打开状态,例如:
cmd.exe /K nc.exe localhost 4444