Вместо использования CString вы можете использовать std :: wstring - вот пример, где целое число преобразуется в wstring, а затем помещается в ключ реестра REG_SZ.
bool SetRegistryKeyValue(int NewSetting) const
{
bool result = false;
HKEY hkey = nullptr;
std::wstring str = std::to_wstring(NewSetting);
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, STRING_REGISTRY_KEY, 0, KEY_WRITE, &hkey) == ERROR_SUCCESS) {
RegSetValueExW(hkey, STRING_REGISTRY_VALUE, NULL, REG_SZ, (BYTE*)str.c_str(), str.size());
RegCloseKey(hkey);
result = true;
}
return result;
}