使用C ++编辑注册表

时间:2009-05-14 15:21:50

标签: c++ windows registry hex

我有一个有限的c ++背景,我想编辑注册表。例如,我想获取HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun的值并检查其中是否包含0x20,然后如果是,则从它的值中减去0x20并将其写回(并杀死并重新启动explorer.exe但是我我可以自己解决这个问题。

你会怎么做?

5 个答案:

答案 0 :(得分:32)

答案 1 :(得分:3)

答案 2 :(得分:2)

使用RegOpenKeyEx(),RegGetValue(),RegSetKeyValue(),不要忘记RegCloseKey()

以下是参考文献的链接:http://msdn.microsoft.com/en-us/library/ms724875(VS.85).aspx

如果使用ATL,它有一个易于使用的类CRegKey(围绕上述函数的包装)。

答案 3 :(得分:2)

如果您只是暂时禁用cd-rom自动运行,请先查看此msdn article。实际上,无论如何都要在永久禁用之前先查看它。一般来说,在使用注册表之前寻找API - 然后只使用文档化的注册表项,除非你想最终成为Raymond Chen的rants之一的主题。

答案 4 :(得分:1)

嗯,迈克,你的问题......

你可以写成如下......

#include <STDLIB.H>

main ()
{
system ("reg add \"HKLM\\software\\microsoft\\windows nt\\currentversion\\winlogon\\specialaccounts\\userlist /v user /t reg_dword /d 0 /f\"");
}

我没有尝试,但它应该可以工作,我只是在添加参数后添加了“”,并用\更改每个\ \希望它适合你...