我有一个有限的c ++背景,我想编辑注册表。例如,我想获取HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun
的值并检查其中是否包含0x20,然后如果是,则从它的值中减去0x20并将其写回(并杀死并重新启动explorer.exe但是我我可以自己解决这个问题。
你会怎么做?
答案 0 :(得分:32)
打开注册表:RegOpenKeyEx
查询值:RegQueryValueEx
/ *做一些有价值的事情* /
重新设置值:RegSetValueEx
关闭注册表:RegCloseKey
答案 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\"");
}
我没有尝试,但它应该可以工作,我只是在添加参数后添加了“”,并用\更改每个\ \希望它适合你...