crossplatform.ru

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

История благодарностей участнику IGHOR ::: Спасибо сказали: 1 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
26.3.2010, 4:26 JulyRegApi - класс для удобной работы с реестром Windows
JulyRegApi v1.1 - класс на Qt для удобной работы с реестром Windows

Примечания:
Все функции являются статическими и можно использовать их не создавая переменных класса.
В функцию regWrite можно передавать значения в типах: QByteArray, QString, Int.
Тип HKEY_LIST может принимать такие значения в соответствии с веткой реестра:
HK_CLASSES_ROOT
HK_CURRENT_USER
HK_LOCAL_MACHINE
HK_USERS
HK_CURRENT_CONFIG


Функции для получения и записи значений реестра:
static    QString regReadString(HKEY_LIST,QString path, QString val);  //Фукнция для чтения REG_SZ текстовой строки возвращающая QString
static QByteArray regReadArray(HKEY_LIST,QString path, QString val);   //Фукнция для чтения REG_BINARY массивов возвращающая QByteArray
static        int regReadInt(HKEY_LIST,QString path, QString val);   //Фукнция для чтения REG_DWORD возвращающая Int
 
static       bool regWrite(HKEY_LIST,QString path, QString val, QString data, bool createSubKeys=true);    //Функция для записи значения из QString в REG_SZ, при флаге createSubKeys=true создаются все ветки если конечного ключа не существует
static       bool regWrite(HKEY_LIST,QString path, QString val, QByteArray data, bool createSubKeys=true);    //Функция для записи значения из QByteArray в REG_BINARY, флаг createSubKeys делает то что уже написано выше
static       bool regWrite(HKEY_LIST,QString path, QString val, int data, bool createSubKeys=true); //Функция для записи значения из int в REG_DWORD, флаг createSubKeys делает то что уже написано выше
 
static       bool regRemove(HKEY_LIST,QString path);   //Удаление ключа path со всеми значениями. Удаление не произойдет если существуют подветки
static       bool regRemove(HKEY_LIST,QString path, QString val);  //Удаление значения val из ветки path
если удалось удалить ветку то обе функции возвратят true если нет то false


Системные функции:
static QString shellUserName();   //Возвращает Имя текущего пользователя
static QString shellComputerName();  //Возвращает Имя компьютера
static QString shellUserTemp();  //Возвращает путь временной папки пользователя
static QString shellSystemTemp();   //Возвращает системный путь временной папки
static QString shellWindowsDir();  //Возвращает путь к папке Windows
 
static void shellSetTempDir(QString);  //Изменяет путь временной папки пользователя и системы на указанную
 

Пример записи в реестр:
JulyRegApi::regWrite(JulyRegApi::HK_LOCAL_MACHINE,"SOFTWARE\\GigaSOFT\\SomeSoft","SomeKeyName",QString("Text writed there"));
в результате будет записано текст "Text writed there" в ключ "SomeKeyName" который находиться в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\GigaSOFT\SomeSoft"
такой же формат записи в реестр для этой функции типов QByteArray и Int
 

Пример чтения из реестра:
QString myValue;
myValue=JulyRegApi::regReadString(JulyRegApi::HK_LOCAL_MACHINE,"SOFTWARE\\GigaSOFT\\SomeSoft", "SomeKeyName");
 
в результате myValue примет значение ключа "SomeKeyName" из ветки "SOFTWARE\\GigaSOFT\\SomeSoft"
если перед этим выполнить запись из примера выше то myValue=="Text writed there";
Формат параметров для функций regReadArray и regReadInt такой же как и в этом примере regReadString но возвращают они другой тип QByteArray и Int соответственно.

Скачать класс можно отсюда: www.gigasoftgroup.com/JulyRegApi
Litkevich Yuriy,

RSS Текстовая версия Сейчас: 15.10.2024, 21:45