以编程方式将.reg文件合并到win32注册表中

时间:2008-08-29 19:09:47

标签: unit-testing registry

以编程方式将.reg文件合并到注册表中的最佳方法是什么?这是用于单元测试; .reg文件是一个测试工件,将在测试的开始和结束时添加然后删除。

或者,如果有更好的方法对注册表进行单元测试......

5 个答案:

答案 0 :(得分:8)

可以使用.reg文件删除注册表项,但我不确定它的记录情况。方法如下:

REGEDIT4

[-HKEY_CURRENT_USER\Software\<otherpath>]

密钥名称前面的-告诉Regedit您要删除密钥。

要以静默方式运行,请键入:

regedit /s "myfile.reg"

答案 1 :(得分:5)

如果你要炮轰,我会使用reg命令(详情如下)。如果您能告诉我们您使用的语言,我们可以提供特定语言的代码。

C:&gt; reg /?

REG操作[参数列表]

操作[QUERY | ADD |删除| COPY |                保存|加载|卸载|恢复|                比较|出口|进口|标志]

退货代码:( REG REGARE除外)

0 - 成功   1 - 失败

有关特定操作类型的帮助:

REG ADD /?   REG DELETE /? [剪断]

答案 2 :(得分:2)

我通过查看我的文件关联来查看它。

似乎只将.reg文件作为Windows上regedit.exe可执行文件的第一个参数调用。

所以你可以说regedit.exe "mytest.reg"。我不确定的是如何摆脱弹出的对话框,要求您确认。

答案 3 :(得分:1)

使用Win32 API函数ShellExecute()或ShellExecuteEx()。如果评论为“打开”,则应合并.reg文件。我没有测试过,但它应该可以工作。

答案 4 :(得分:0)

编写单元测试最令人沮丧的事情之一就是处理依赖项。测试驱动开发的最大优点之一是它生成的代码与其依赖项分离。很酷,嗯?

当我发现自己提出类似这样的问题时,我想方法将我正在编写的代码与依赖关系解耦。将注册表的读取与您要测试的复杂性区分开来。

相关问题