Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Первый параметр реестра 
V
    Опции темы
alpetyan
Дата 15.11.2006, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 3.8.2006

Репутация: нет
Всего: нет



Сограждане и иностранцы.
Помогите чайнику.
Нужно получать и изменять, первый из трех параметров реестра.
Не могу найти нужные функции. (если можно синтаксис)

PM MAIL   Вверх
dumb
Дата 16.11.2006, 04:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 27
Всего: 158



что есть "параметр реестра"?
PM MAIL   Вверх
alpetyan
Дата 16.11.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 3.8.2006

Репутация: нет
Всего: нет



Пример.

Код

if(ERROR_SUCCESS!=RegQueryValueEx(hKey,"url1",0,&RegType,(LPBYTE)&StrBuff[0],&SizeStrBuff))


url1 который.

Вторые два тип данных и сами данные. (я хотел сказать)
Как работать с первым не понимаю.

PM MAIL   Вверх
SergeCpp
Дата 16.11.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 10
Всего: 124



RegQueryValueEx

lpValueName 
[in] The name of the registry value. 
If lpValueName is NULL or an empty string, "", the function retrieves the type and data for the key's unnamed or default value, if any.

For more information, see Registry Element Size Limits.

Keys do not automatically have an unnamed or default value. Unnamed values can be of any type.

Windows Me/98/95:  Every key has a default value that initially does not contain data. On Windows 95, the default value type is always REG_SZ. On Windows 98 and Windows Me, the type of a key's default value is initially REG_SZ, but RegSetValueEx can specify a default value with a different type.

PM MAIL WWW ICQ   Вверх
alpetyan
Дата 16.11.2006, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 3.8.2006

Репутация: нет
Всего: нет



RegQueryValueEx

Я пишу уже предопределенный параметр для получения данных.

Разве есть модификация для получения параметра?

Это сообщение отредактировал(а) alpetyan - 16.11.2006, 21:41
PM MAIL   Вверх
Aleksandor
Дата 16.11.2006, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Практик
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 22.11.2005
Где: россия, зеленогра д

Репутация: 10
Всего: 12



Я так понял что надо прочитать параметр и записать? Тогда примерно так-


Код

char szDir[MAX_PATH];
DWORD dwLength=MAX_PATH+1;
if (ERROR_SUCCESS==(RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Your Company\\Your Product\\Params"),0,KEY_QUERY_VALUE,&hKey))) {
    RegQueryValueEx(hKey,"param1",0,0,(const BYTE*)szDir,&dwLength); 
    RegCloseKey(hKey); } 




Код

if (ERROR_SUCCESS==(RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Your Company\\Your Product\\Params"),0,KEY_SET_VALUE,&hKey))) {
    RegSetValueEx(hKey,"param1",0,REG_SZ,(const BYTE*)szDir,lstrlen(szDir)+1); 
    RegCloseKey(hKey); } 



--------------------
Call out Gouranga be happy!!!
Gouranga Gouranga Gouranga ....
That which brings the highest happiness!!
PM MAIL   Вверх
alpetyan
Дата 17.11.2006, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 3.8.2006

Репутация: нет
Всего: нет



Вот я болван: объяснить не умею.

С данными в реестре я работать умею.
Вопрос именно о параметре данных.

RegQueryValueEx cчитывает данные и тип данных а не
саму надпись: url1 или param1. 
Нужно считать именно надпись перед типом данных и данными.

Как получить и  этот параметр:

думаю:

RegEnumValue

RegQueryInfoKey



Это сообщение отредактировал(а) alpetyan - 17.11.2006, 02:56
PM MAIL   Вверх
Aleksandor
Дата 17.11.2006, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Практик
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 22.11.2005
Где: россия, зеленогра д

Репутация: 10
Всего: 12



А ну тогда конечно RegEnumValue

Код

DWORD nmSize=256, vlSize=2048, i=0; 
HKEY hKey;
char szValueName[255];
BYTE cbResult[2048];

if (ERROR_SUCCESS!=(RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE..."),0,KEY_QUERY_VALUE,&hKey))) { 
while (ERROR_SUCCESS==(RegEnumValue(hKey,i,szValueName,&nmSize,0,NULL,(LPBYTE) cbResult, &vlSize))) {
    // do something with szValueName
    i++; nmSize=256; szValueName[0]='\0'; vlSize=2048;
        }
RegCloseKey(hKey);
}



--------------------
Call out Gouranga be happy!!!
Gouranga Gouranga Gouranga ....
That which brings the highest happiness!!
PM MAIL   Вверх
alpetyan
Дата 17.11.2006, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 3.8.2006

Репутация: нет
Всего: нет



Aleksandor, SergeCpp.

Спасибо.

Закрываю.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0672 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.