我封装了一个读取注册表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软件的朋友,高手帮忙,非常感谢
[注意]看雪招聘,专注安全领域的专业人才平台!