2012-12-09 35 views
0

问题是,当我从CMD使用nc语法打开nc.exe时,它的工作原理与连接到我的服务器上。但是当我通过我的程序(使用上面的代码)这样​​做时,它只是打开nc.exe窗口,但它不让我运行命令,我只是没有任何提示就得到一个空白的CMD窗口。CreateProcess不会像应该那样运行应用程序(nc.exe)?

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有关,但我不知道该从哪里去。

谢谢。

回答

1

您可以用/K参数强制DOS窗口保持打开状态,例如:

cmd.exe /K nc.exe localhost 4444 
通过 cmd.exe运行
相关问题