чуть бубен не порвал
//ключ
const char* pch_regpath="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
//имя параметра
QString param="redcat";
std::vector<wchar_t> wch_param((param.length()+1),0);
param.toWCharArray(&wch_param[0]);
//значение параметра
QString exepath=QDir::toNativeSeparators(QApplication::applicationFilePath()+QApplication::applicationName());
std::vector<wchar_t> wch_exepath((exepath.length()+1),0);
exepath.toWCharArray(&wch_exepath[0]);
HKEY k=0;
DWORD dwdRes=RegOpenKeyExA(HKEY_CURRENT_USER,pch_regpath,0,KEY_ALL_ACCESS,&k);
if(dwdRes==ERROR_SUCCESS)
{
RegSetValueExW(k,&wch_param[0],0,REG_SZ,(BYTE*)&wch_exepath[0],wch_exepath.size()*sizeof(wch_exepath[0]));
RegCloseKey(k);
k=0;
}
потихоньку начинаю понимать философию Qt - упростить сложное и максимально усложнить элементарное