用RegQueryValueEx()获取REG_BINARY类型数据,将其转换成字符串str(留做其他用途),
再将字符串str转换成REG_BINARY型数据;
然后,用RegSetValueEx()写入注册表。

解决方案 »

  1.   

    BOOL ByteToStr(LPBYTE bySrc, LPTSTR szDst, DWORD size)
    {
    if ((NULL == bySrc) || (size <= 0))
    {
    return FALSE;
    } for (int iCnt = 0; iCnt < size; iCnt++)
    {
    CString strTmp;
    strTmp.Format(_T("%x"), *(bySrc + iCnt)); DWORD dwTmp = *(bySrc + iCnt);
    if (0 == iCnt)
    {
    if (dwTmp == 0x0)
    {
    lstrcpy(szDst, _T("00"));

    else
    {
    if (dwTmp <= 0xf)
    {
    lstrcpy(szDst, _T("0"));
    lstrcat(szDst, strTmp);
    }
    else
    {
    lstrcpy(szDst, strTmp);
    }
    }
    }
    else
    {
    if (dwTmp <= 0xf)
    {
    lstrcat(szDst, _T("0"));
    lstrcat(szDst, strTmp);

    else
    {
    lstrcat(szDst, strTmp);
    }
    }
    } return TRUE;
    }BOOL StrToByte(LPCTSTR szSrc, LPBYTE byDst, LPDWORD size)
    {
    if (NULL == szSrc)
    {
    return FALSE;
    } *size = lstrlen(szSrc) / 2;
    for (int i = 0; i < *size; i++)
    {
    TCHAR szTmp1[4] = {0}; lstrcpyn(szTmp1, (szSrc + (i * 2)), 3);
    DWORD dwWord = _tcstoul(szTmp1, NULL, 16);
    *(byDst + i) = dwWord;
    } return TRUE;
    }