0

C++を使用して、プロセス「A」の環境変数を現在の実行に対してのみ有効になるように設定することは可能ですか(プロセス「A」は私のプロセスによって開始されます)?

4

2 に答える 2

3

Windows API に依存する準備ができていると仮定すると、CreateProcess関数を呼び出してプロセスを起動すると、lpEnvironmentパラメーターが得られます。

通常は、作成プロセスの環境を使用するNULLことを意味します。ただし、新しいプロセスで使用される環境ブロックを指定できます。

渡す環境ブロックは、null で終わる文字列の null で終わるブロックです。例えば:

"MyVar=MyValue\0MyOtheVar=MyOtherValue\0\0"

2 つの個別の変数を定義します。

于 2012-10-26T18:38:27.690 に答える
0

環境変数を変更しても現在のプロセスで問題が発生しない場合は、 C++ での環境変数の設定を参照してください。

ヒント: プロセスによってフォークされたプログラムには、指定した環境変数と値しかありません。

于 2012-10-26T18:48:14.077 に答える