ユーザー環境変数

環境変数は、ファイルの検索パス、一時ファイルのディレクトリ、アプリケーション固有のオプション、およびその他の同様の情報を指定します。 システムは、ユーザーごとに環境ブロックを保持し、コンピューター用に 1 つの環境ブロックを保持します。 システム環境ブロックは、特定のコンピューターのすべてのユーザーの環境変数を表します。 ユーザーの環境変数は、システム環境変数のセットを含め、その特定のユーザーに対してシステムが保持する環境変数を表します。

既定では、各プロセスは、その親プロセスの環境ブロックのコピーを受け取ります。 通常、これはログオンしているユーザーの環境ブロックです。 プロセスでは、CreateProcess 関数または CreateProcessAsUser 関数を使用して、子プロセスに異なる環境ブロックを指定できます。

環境変数を追加または変更するには、ユーザーはコントロール パネルから [システム] を選択し、[環境] タブを選択します。ユーザーは、set コマンドを使用して、コマンド プロンプトで環境変数を追加または変更することもできます。 set コマンドを使用して作成された環境変数は、設定されているコマンド ウィンドウとその子プロセスにのみ適用されます。 詳細については、コマンド プロンプトで 「set /? 」と入力します。

特定のユーザーの環境ブロックのコピーを取得するには、 CreateEnvironmentBlock 関数を使用します。 CreateEnvironmentBlock によって作成された環境ブロックを解放するには、DestroyEnvironmentBlock 関数を使用します。 これらの関数は、環境ブロックへのポインターを参照します。 環境ブロックは、null で終わる Unicode 文字列の配列です。 リストは 2 つの null (\0\0) で終わります。

指定したユーザーの環境ブロックを使用して環境変数を含む文字列を展開するには、 ExpandEnvironmentStringsForUser 関数を使用します。