-->

RegOpenKeyEx给错误2或错误161,无法两者兼得(RegOpenKeyEx giving

2019-07-04 21:41发布

我想读从Windows服务器注册表项,我似乎无法得到它的有或没有领先斜线工作。 如果我尝试:

lError = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "\\SOFTWARE\\Company\\Product\\ServerName", 0, KEY_QUERY_VALUE, &hDomainKey);

它给了我错误161,这是ERROR_BAD_PATHNAME。 (指定的路径是无效的。)

好了,所以想这样说:

lError = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Company\\Product\\ServerName", 0, KEY_QUERY_VALUE, &hDomainKey);

我得到错误2 ERROR_FILE_NOT_FOUND。 (该系统找不到指定的文件。)

我可以打开regedit ,看看我想检索值,与路径My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Company\Product ,名称ServerName和类型REG_SZ 。 我缺少的是在这里吗?

Answer 1:

开关键,不是值:

lError = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                      "SOFTWARE\\Company\\Product",
                      0,
                      KEY_QUERY_VALUE,
                      &hDomainKey);

然后读取使用值RegQueryValueEx()RegGetValue()



文章来源: RegOpenKeyEx giving error 2 or error 161, fails both ways