最近在写个小程序,其中有一小部分是修改MAC地址,由于要修改多出内容,由于一直用RegOpenKeyEx打开、RegQueryValueEx取值、RegCloseKey关闭,造成RegQueryValueEx的使用时会出现有的值娶不到,但对取不到得值,放在第一开始时,又能取到。这有几种原因呢?
谢谢大家回答

解决方案 »

  1.   

    我不是很明白你的意思,但是有一点我告诉你,RegQueryValueEx的时候最后一个参数lpcbdata一定要注意,它是一个io参数,也就是说如果你连续两次RegQueryValueEx的话一定要在两次中间重新为这个参数赋值,例如dwcbdata=6,因为假如你第二次RegQueryValueEx的时候,本身字符串长度为10,而第一次RegQueryValueEx长度为3那就第二次取不到了,原因就是长度不够,第一次RegQueryValueEx返回时lpcbdata已经变为3而不是6了,不知道是不是你的意思,试试看