はじめまして、OutOfControlと申します。
■環境
・VS2008 Pro
・VC++ 9.0(MFC)
・WinVista
早速なのですが、現在既存ソースの修正作業を行っております。
その中で、iniファイルに保存された設定値を取り出して表示を行うのですが、
うまく値が取得できず悩んでおります。
どなたかご助言いただけないでしょうか・・・
■状況。
・プログラム起動
・GetPrivateProfileSectionを呼び出し、iniファイルの値を取得。
→この際、iniファイルの内容を更新しても、
値が古いまま出力されます。
(表示されている古い情報の内容は正しいです)
私なりには考えてみた原因としては、
最終的にプログラムをインストールする際、
レジストリにも設定値を登録しており、
iniファイルへのアクセスに失敗し、
試しに登録していたレジストリの内容
(インストール時の初期値)が読み込まれているのでは
ないかと考えているのですが・・・
デバックしてみると、少なくともiniファイルへのパスは正しいようで、
GetPrivateProfileSectionを呼び出し、値を取得したすると内容が既に
古い値になってしまい、何が原因なのかわからなくなってしまいました。
(iniファイルはC:\Windows配下に配置されています。)
※それならレジストリで一括管理を!といわれるかもしれませんが、
iniの設定値変更は別exeで行われています。
そして、設定変更exeは手が入れられない(ソースがそもそもない)ため、
設定値をiniファイルから読み取ることにこだわりたいと考えています。
稚拙な文章で申し訳ありませんが、
ご助言よろしくお願いいたします。
virtual store と UAC でまずぐぐってみると吉
編集 削除tetrapod様
ご助言ありがとうございます!!
おっしゃるとおりvirtual storeとUACについて調べてみると、
理由がわかりました。
変更対象と参照対象が変わっていたのですね…
virtual storeについては恥ずかしながら知りませんでした。
これで解決とさせていただきます。
どうもありがとうございました。