レジストリ(.regファイル)のインポートするプログラム

[戻る]
マサ 2010/12/24(金) 12:20:50
プログラム上でレジストリの.regファイルをインポートしたいと思います
プログラム上で”REG IMPORT”コマンド、regedit.exeを使用しインポートできることは
知っていますが、
コマンドを使用せずに、プログラム上で実装(レジストリをオープン、書き込み)した
いと思っています。
参考になる(使用できる)オープンソースを探していますがなかなか見つかりません。
もし、ソースをご存知の方がいましたら教えていただけないでしょうか?

コマンドで実装しない理由は個人的な嗜好の問題ですが、最終的にソースが見つからな
い場合は、
全て自作か、あきらめてコマンドで実装します(最終手段)

デゴルガン 2010/12/25(土) 01:17:43
ATLのCRegKeyテンプレートクラスを使えばレジストリ操作は簡単に出来ます。
ソースは検索すれば簡単に見つかるんじゃないでしょうか。

マサ 2010/12/27(月) 16:20:49
返信ありがとうございます。
エクスポートに関しては、ソースを見つけたので参考にさせていただいていますが、
特にインポートに関してのソースを見つけることが出来ませんでした。
今現在は自作でregファイルを解析して、プログラム上からレジストリの書き込みを行う
ようにしています。

aetos 2010/12/27(月) 18:04:45
問題を切り分けましょう。

(1) レジストリ キーを開いて、値を書き換える
(2) .reg ファイルを解析して、値を読み込む

(1) のソースならいくらでも見つかると思います。
(2) は見つけにくいかもしれませんね。

CRegKey には .reg ファイルをインポートする機能はなさそうです。
フォーマットは(最初の1行を除けば).ini ファイルと同じなので、
GetPrivateProfileString 系の API が使えないでしょうか。

aetos 2010/12/27(月) 18:09:31
もうちょっと噛み砕いて書きますと、例えば、以下の 2 つの処理はそれぞれ別個に作る
ことができます。

(1) 特定のキーの特定の値に "A" という値を書き込む
(2) .reg ファイルを読んで、特定のキーの特定の値が "A" であるということを知る

分けられるということは、

(X) .reg ファイルを読み込んで、その値をレジストリに書き込む

というまとまった処理よりも、一度に気にするべきことが少なくて済むということで
す。
一般に、処理の粒度を小さくした方が、サンプルが見つかりやすいですし、作りやすく
なりますし、バグも減ります。
心がけてみてください。

古いスレッドには追加発言できません。