2012-02-21 10 views
1

私は別のプロセスの実行を開始するプログラムを持っています。しかし、子プロセスは、親プロセスから環境を継承すべきではありません。エクスプローラからプログラムを起動したかのように起動する必要があります。検索時に、環境変数として文字列の配列を送ることを可能にするexec *()関数がいくつか見つかりました。しかし、私のプログラム固有の環境変数をリストから取り除いて子供に送る必要があるので、このプロセスは面倒です。これを達成する他の方法はありますか?親プロセスの環境変数を継承せずにプロセスを作成する

答えて

1

これを達成する唯一の方法は、気分が悪いことです。それは本当にそれほど難しいことではなく、ちょっとした文字列の操作です。

+0

問題は、親プログラムによって設定された環境変数を把握することです。これは、実行可能なプログラムを記述できるサードパーティのソフトウェアです。また、プログラムの一部として他のプログラムを呼び出すこともできます。 –

+0

私は、あなたが呼び出される前に設定/変更された値に対して、システムによってどの値が提供されたかを気にする理由がわかりませんが、Windowsシステムについて話しているようですので、システム環境キーのレジストリを解析し、その後に現在のユーザーキーを解析します。調べるキーはわかりませんが、探し出すのが難しいはずはありません。しかし、その値が逆参照したり代入したりする必要がある他の環境変数を参照する可能性があることを覚えておく必要があります。 – mah

+0

ユーザー値はHKCU \ Environmentにあり、HKLM \ SYSTEM \ ControlSet001 \ Control \ Session Manager \ Environmentにシステム値が見つかりました。私はシステムのパスに疲れているだろう、それは変数になる可能性があります。 – mah

関連する問題