0

私は Windows プラットフォームでの winapi c++ の初心者です。1 つのプログラムで 3 つの exe ファイル、つまりインストール プログラムを実行する必要があります。shellexecute、exec v、システムコールを使用しましたが、最初のプログラムのインストール後にすべてがプログラムを終了しています。これを解決するのを手伝ってください...

私が使用したコードの一部

ShellExecute( hwndDlg, "open", "calc.exe", NULL, NULL, SW_SHOWNORMAL );

status = execv(".\\InstallationFiles\\dotnetfx 35 SP1 Full.exe",child_args);

よろしくお願いします :)

4

1 に答える 1

0

WinAPI (タグの 1 つ) を使用する場合は、CreateProcess関数を使用する必要があります。ここにいくつかの例があります。

exec*家族によるマニュアル:

関数の exec ファミリは、現在のプロセスイメージを新しいプロセス イメージに置き換えます。このマニュアルページで説明されている関数は、関数 execve(2) のフロントエンドです。(現在のプロセスの置き換えに関する詳細な情報については、execve のマニュアル ページを参照してください。)

execしたがって、ファミリ関数に固執したい場合は、 Windows でいくつかの問題fork()を引き起こす何らかの種類を使用する必要がありますが、ここでは「Linux のような」例を示します。

于 2012-11-30T11:25:53.667 に答える