首页
社区
课程
招聘
[旧帖] 紧急求助,高手帮忙,谢谢 0.00雪花
发表于: 2010-5-5 10:31 3625

[旧帖] 紧急求助,高手帮忙,谢谢 0.00雪花

2010-5-5 10:31
3625
我封装了一个读取注册表dword值的函数:
int RegistryGet(LPCTSTR regPath, LPCTSTR key)
{
        HKEY hkey;
        TCHAR szString[25];
        DWORD buff=REG_OPENED_EXISTING_KEY;
        DWORD strbuf;
        DWORD strsize=sizeof(DWORD)+1;
        DWORD type=REG_DWORD;
        if(ERROR_SUCCESS != RegCreateKeyEx(HKEY_CURRENT_USER,regPath,0,szString,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,&buff))
        {
                return 1;
        }
        if(ERROR_SUCCESS != RegQueryValueEx(hkey,key,NULL,&type,(LPBYTE)&strbuf,&strsize))
        {         
                return 1;
        }
        RegCloseKey(hkey);
        return strbuf;
}
如果把函数直接写入程序里面的话调试的时候是可以返回值的,如果写入dll里面的话则无法正确返回值,怎么回事?高手help
截图里面就是工程,调试的时候打开注册表都出错了,我非常郁闷,直接把代码写入程序里调试的时候是正确结果。现在给封装好,然后交给一个写java软件的朋友,高手帮忙,非常感谢

[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费
支持
分享
最新回复 (3)
雪    币: 2513
活跃值: (640)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
如果测试没问题,调用有问题,那只能说明调用时传入的参数不正确
注意ansi版和unicode版的字符串区别,同时检查传入参数
2010-5-5 12:52
0
雪    币: 143
活跃值: (415)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我同意2楼的

再调试,观察传入的参数值。
2010-5-5 14:21
0
雪    币: 437
活跃值: (130)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
感谢,问题是测试的时候用的不是最新生成的dll,谢谢大家
2010-5-11 22:59
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册