我有一个有限的c + +背景,我想编辑registry。 例如,我想获取HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun
并检查是否在0x20中,如果是,则从其值中减去0x20并将其写回(杀死并重新启动explorer.exe,但我可以自己计算出来)。
你会怎么做?
打开注册表: RegOpenKeyEx
查询值: RegQueryValueEx
/ *做一些有价值的事情* /
将值设回: RegSetValueEx
关闭注册表: RegCloseKey
一个快速的谷歌显示:
http://msdn.microsoft.com/en-us/library/ms724256(VS.85).aspx
使用RegOpenKeyEx(),RegGetValue(),RegSetKeyValue(),不要忘记RegCloseKey()
以下是参考的链接: http : //msdn.microsoft.com/en-us/library/ms724875(VS.85).aspx
如果你使用ATL,它有一个易于使用的类CRegKey(上述函数的一个包装)。
如果你只是试图暂时禁用CD-ROM自动运行,请先看看这个MSDN文章 。 其实,先看看它,然后永久禁用它。 一般来说,在查找注册表之前先查找一个API,然后只使用记录的注册表项,除非你想最终成为Raymond Chen的咆哮者之一 。
那么,迈克你的问题…
你可以这样写:
#include <STDLIB.H> main () { system ("reg add \"HKLM\\software\\microsoft\\windows nt\\currentversion\\winlogon\\specialaccounts\\userlist /v user /t reg_dword /d 0 /f\""); }
我没有尝试,但它应该工作,我只是在添加参数后面添加“\”,并用“\”替换每个\,希望它能与您合作。