プログラムで .reg ファイルをレジストリにマージする最良の方法は何ですか? これは単体テスト用です。.reg ファイルは、テストの開始時と終了時に追加されて削除されるテスト アーティファクトです。
または、レジストリに対して単体テストを行うためのより良い方法があれば...
プログラムで .reg ファイルをレジストリにマージする最良の方法は何ですか? これは単体テスト用です。.reg ファイルは、テストの開始時と終了時に追加されて削除されるテスト アーティファクトです。
または、レジストリに対して単体テストを行うためのより良い方法があれば...
.reg ファイルを使用してレジストリ キーを削除することは可能ですが、それがどの程度文書化されているかはわかりません。方法は次のとおりです。
REGEDIT4
[-HKEY_CURRENT_USER\Software\<otherpath>]
-
キー名の前にある は、キーをRegedit
削除することを示しています。
これをサイレント モードで実行するには、次のように入力します。
regedit /s "myfile.reg"
あなたが砲撃しているなら、regコマンドを使用します(詳細は以下)。使用している言語を教えていただければ、言語固有のコードを提供できます。
C:>reg /?
REG演算【パラメータ一覧】
オペレーション [ クエリ | ] 追加 | 削除 | コピー | 保存 | ロード | アンロード | 復元 | 比較 | 輸出 | インポート | フラグ]
戻りコード: (REG COMPARE を除く)
0 - 成功 1 - 失敗
特定の操作タイプに関するヘルプ:
REG ADD /? REG DELETE /? [抜粋]
ファイルの関連付けをチェックして調べました。
.reg ファイルは、regedit.exe
Windows の実行可能ファイルの最初のパラメーターとして呼び出されているようです。
だからあなたはただ言うことができますregedit.exe "mytest.reg"
。よくわからないのは、確認を求めるダイアログ ボックスがポップアップ表示されないようにする方法です。
Win32 API 関数の ShellExecute() または ShellExecuteEx() を使用します。コメントが「open」の場合、.reg ファイルをマージする必要があります。私はそれをテストしていませんが、動作するはずです。
単体テストを書く上で最もイライラすることの 1 つは、依存関係の処理です。テスト駆動開発の最大の利点の 1 つは、依存関係から切り離されたコードを生成することです。かっこいいでしょ?
このような質問をするときは、書いているコードを依存関係から切り離す方法を探します。テストしたい複雑さからレジストリの読み取りを分離します。