使用上篇文章《VC中操作註冊表的實現源碼》的GetStrValue函數來讀取DWORD類型時,得到的是亂碼。這是因爲讀取DWORD類型後將其轉換成了字符類型,所以如果想得到DWORD類型,需要進行一次強制類型轉換,方法如下:
CRegeditOp regeditOP;
CString szValue;
DWORD dKeyType;
DWORD dLength = BUFFER_LENGTH;
regeditOP.GetStrValue((HKEY)(it->strMainKey),it->strPath,it->strKeyName,szValue,dKeyType,dLength)
LPBYTE lpVar;
lpVar =(LPBYTE)szValue.GetBuffer();
DWORD* pDVal=(DWORD*)lpVar;
DWORD dTempVar = *pDVal;
此時,dTempVar中就是和註冊表中相同的DWORD類型的數值了。