1

Windows で C を使用してコマンドを実行し、System コマンドを使用せずに出力を取得する方法はありますか? win32 apiに関数はありますか?

4

3 に答える 3

1

この質問への回答から、Win32 API の Posix popen() に相当するものは何ですか? このMSDNの記事へのリンクがあります リダイレクトされた入力と出力を使用して子プロセスを作成する 、多かれ少なかれpopenWin32呼び出しで機能を構築する方法について説明しています

このトピックの例では、コンソール プロセスから CreateProcess 関数を使用して子プロセスを作成する方法を示します。また、匿名パイプを使用して子プロセスの標準入出力ハンドルをリダイレクトする手法も示します。名前付きパイプは、プロセス I/O のリダイレクトにも使用できることに注意してください。

于 2013-01-27T23:04:14.427 に答える
1

_popen関数を見てください。これは、コンソール サブシステムの実行可能ファイルに対して機能します。

ターゲットが Windows サブシステムの場合、さらに複雑なCreateProcessベースのソリューションがあります。

于 2013-01-27T20:25:18.163 に答える
0

ShellExecute()または_spawn()関数とそのバリアント。MSDN を参照してください。

于 2013-01-27T20:31:20.513 に答える