Windowsシステムのプロパティ|環境変数には、変数"AppStatus=status1"
があります。OSに定義されている元の変数値を取得するAPIはありますか?
MyApp.exeという名前のexeがあります。実装では、変数をコードで変更します。
int ret = putenv("AppStatus=status2"); // Change the environment variable.
は、使用API char * pStatus = getenv("AppStatus");
場合、返される値は"status2"
です。
私が得たいのは、プロセスブロックにないOS("AppStatus=status1"
)で定義されている元の値です。これを実装するには、レジストリキーを問い合わせることができます。
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment \ Path
しかし、それをサポートするAPIがあればよいはずです。誰かがそれを知っていますか?
WinAPI(またはWindows)で質問にタグを付ける必要があります。回答はオペレーティングシステム固有のものです(実際には、Linux上では質問はおそらく意味がありません)。あなたの質問は、C++よりもWindowsに関連しています。 –
実装を変更できますか? 'AppStatus'の値をプロセス開始時に別々に保存するだけではどうですか? – vstm
興味深い情報[ここ](http://stackoverflow.com/questions/631664/accessing-environment-variables-in-c)(dupではなく、Win32関数へのポインタと 'getenv'とネイティブWin32の同等の違い、 .Netを使用している場合に必要なものを実行する.Net関数) – Mat