|
||
解説: Windows 操作でレジストリに影響が出る状況では、レジストリのデータを保存しておきたいものです。レジストリデータをファイルに保存するには、Regedit を実行して、レジストリファイルをエクスポートします。 今回は、任意に作成したレジストリデータをファイルに書き出してみます。 ちょっと寄り道: レジストリファイル(REG ファイル)は「レジストリ スクリプト」と呼ばれています。 通常、DOS プロンプトから regedit を実行させます。実行時のコマンドラインオプションが沢山ありますので、調べてみてください。 使用例: 今回の例は、HKEY_CURRENT_USER\SoftWare\reg_test にキー[abc], 文字列値[123], 値のデータ[test] を用意して、エクスポートを行っています。 アプリケーション起動後、Button1 をクリックしてください。指定したレジストリデータが格納された REG ファイルが出力されます。 コンポーネントは、Button を適当に配置するだけです。 流れとしては、任意のレジストリデータを格納するため、コマンドラインオプションを付けた文字列を作成します。 この文字列を ShellExecute で実行させます。 作成された "user.reg" の中身を確認しておいてください。 既存のデータでも試してみるとよいでしょう。なお、レジストリの操作は間違いのないように注意して行ってください。 //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // HKEY_CURRENT_USER\SoftWare\reg_test 以下を "user.reg" に保存 AnsiString regpath = "/E user.reg HKEY_CURRENT_USER\\SoftWare\\reg_test"; ShellExecute(Handle, "Open", "Regedit.exe", regpath.c_str(), "", SW_SHOW); } //------------------------------------------------------------------- |