RegSetValue зачем то делает ключ
Нужно создать ключ реестра — а в нем значения (это не подключи)
RegCreateKeyEx(HKEY_LOCAL_MACHINE, name, 0, NULL, 0, KEY_WRITE, NULL, &hkey, &dwDisposition);
RegSetValue(hkey,NULL,REG_SZ,pDescription,sizeof(pDescription));
// CLSID
char *pCLSID = "{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}";
RegSetValue(hkey, "CLSID", REG_SZ, pCLSID, strlen(pCLSID));
RegSetValue(hkey, "MenuText", REG_SZ, pMenu, strlen(pMenu));
RegSetValue(hkey, "MenuStatusBar", REG_SZ, pDescription, strlen(pDescription));
pF = "{%s}";
cBuf = (char*)calloc(strlen(pConv->sz) + strlen(pF), sizeof(char));
wsprintf(cBuf, pF, pConv->sz);
RegSetValue(hkey, "ClsidExtension", REG_SZ, cBuf, sizeof(cBuf));
free(cBuf);
RegCloseKey(hkey);
Гребство! Делает подключи а не набор значений в ключе.
Пока на собственное сообщение не было ответов, его можно удалить.