crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Работа с реестром
Гость_Гость_FenixTES_*_*
сообщение 10.11.2009, 21:34
Сообщение #1





Гости








    


мне нужно залесть в HKEY_CURRENT_USER, ну и там дальше получить значения(если точно то в HKEY_CURRENT_USER\Volatile Environment) можно ли на qt залесть туда и получить соответствующие значения?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 18.9.2010, 19:52
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


вот так победилось
Раскрывающийся текст
#include <windows.h>

void SetAppAutorunToReg(QString ParamName,bool bErase=false)
{
    //корректируем автозагрузку
    
    //ключ
    const char* pch_regpath="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
    
    //имя параметра
    QString param=ParamName;
    std::vector<wchar_t> wch_param((param.length()+1),0);
    param.toWCharArray(&wch_param[0]);

    //значение параметра
    std::vector<wchar_t> wch_exepath;
    if(!bErase)
    {
        //запишем в параметр путь к экзешнику
        QString exepath=QDir::toNativeSeparators(QApplication::applicationFilePath());
        wch_exepath.resize((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)
    {
        if(bErase)
        {
            RegDeleteValueW(k,&wch_param[0]);
        }
        else
        {
            RegSetValueExW(k, &wch_param[0], 0, REG_SZ,
                (BYTE*)&wch_exepath[0],
                wch_exepath.size()*sizeof(wch_exepath[0])
                );
        }

        RegCloseKey(k);
        k=0;
    }
}


Сообщение отредактировал Алексей1153 - 18.9.2010, 22:24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 15:34