以编程方式将 .reg 文件合并到注册表中的最佳方法是什么?这是用于单元测试;.reg 文件是一个测试工件,将在测试开始和结束时添加然后删除。
或者,如果有更好的方法对注册表进行单元测试......
以编程方式将 .reg 文件合并到注册表中的最佳方法是什么?这是用于单元测试;.reg 文件是一个测试工件,将在测试开始和结束时添加然后删除。
或者,如果有更好的方法对注册表进行单元测试......
可以使用 .reg 文件删除注册表项,但我不确定它的记录情况如何。就是这样:
REGEDIT4
[-HKEY_CURRENT_USER\Software\<otherpath>]
-
密钥名称前面的表示Regedit
您要删除该密钥。
要静默运行,请键入:
regedit /s "myfile.reg"
如果您要脱壳,我会使用 reg 命令(详细信息如下)。如果您可以告诉我们您正在使用哪种语言,我们可以提供特定于语言的代码。
C:>注册/?
REG操作【参数列表】
操作 [ 查询 | 添加 | 删除 | 复制 | 保存 | 加载 | 卸载 | 恢复 | 比较 | 出口 | 进口 | 旗帜]
返回代码:(REG COMPARE 除外)
0 - 成功 1 - 失败
有关特定操作类型的帮助:
注册添加/?注册删除/?[剪断]
我通过检查我的文件关联来调查它。
似乎 .reg 文件只是作为regedit.exe
Windows 上可执行文件的第一个参数调用。
所以你可以说regedit.exe "mytest.reg"
。我不确定的是如何摆脱弹出的要求您确认的对话框。
使用 Win32 API 函数 ShellExecute() 或 ShellExecuteEx()。如果注释是“打开的”,它应该合并 .reg 文件。我还没有测试过,但它应该可以工作。
编写单元测试最令人沮丧的事情之一就是处理依赖关系。测试驱动开发最伟大的事情之一是它生成的代码与其依赖项分离。酷吧?
当我发现自己在问这样的问题时,我会寻找将我正在编写的代码与依赖项分离的方法。将注册表的读取与您想要测试的复杂性分开。