0

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 に何らかの形で関連していると考えていますが、そこからどこへ行くべきかわかりません。

ありがとう。

4

1 に答える 1

1

/ Kcmd.exe引数を指定して実行すると、DOSウィンドウを強制的に開いたままにすることができます。例:

cmd.exe /K nc.exe localhost 4444
于 2012-12-09T09:41:58.780 に答える