RegOpenKeyEx返回 2及原因

  同样是今天,在使用这个函数RegOpenKeyEx的时候,老是执行不成功,函数本身返回2,GetLastError返回0。在CSDN上查阅资料说是返回2的原因是注册表中对应路径不存在,可是我电脑中注册表那个键值明明存在的。就这样慢慢调试,换个键值查询,用VC6、VS2010(本来是用vs2008),可是在vc6下不管查询什麽简直都能成功,折腾了半天时间,最后还是不行。

  最后在分析代码的时候,觉得代码有问题,于是终于发现了:我用的是TCHAR!!!而且函数我用的是RegOpenKeyExA!!!原因就在这里!!!

  所以我觉得RegOpenKeyEx返回2的原因一是路径真的不存在,二是参数错误,三可能是权限问题(这个我没遇到)。  

你可能感兴趣的:(RegOpenKeyEx返回 2及原因)