Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 22:02   #1
KuriQ
 
Регистрация: 20.12.2010
Сообщений: 5
По умолчанию С++ работа с реестром

Кто подскажет, как в реестр к имеющейся строке добавить дополнительный путь для загрузки файла?
Допустим есть строка: C:\WINDOWS\1.exe
А надо сделать: C:\WINDOWS\1.exe,С:\WINDOWS\2.exe

Как правильно оформить, помогите, как правильно оформить RegSetValueEx:

Код:
		HKEY hk;
RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &hk);
RegQueryValueEx (hk, "User", NULL, NULL, Reget, &RegetPath);
RegSetValueEx (hk,"Userin",0,REG_SZ, (LPBYTE)((Reget,sysbuf)), strlen((Reget,sysbuf)) + 1);
RegCloseKey(hk);
KuriQ вне форума Ответить с цитированием
Старый 21.12.2010, 02:22   #2
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

Считываешь уже имеющуюся строку - добавляешь к ней что нужно и перезаписываешь на старое место
UltimaBeaR вне форума Ответить с цитированием
Старый 21.12.2010, 10:22   #3
KuriQ
 
Регистрация: 20.12.2010
Сообщений: 5
По умолчанию

Цитата:
RegSetValueEx (hk,"Userin",0,REG_SZ, (LPBYTE)((Reget,sysbuf)), strlen((Reget,sysbuf)) + 1);
Как правильно это записать?
если Reget - старая строчка
а sysbuf - новая
KuriQ вне форума Ответить с цитированием
Старый 21.12.2010, 14:25   #4
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

Полагаю что Reget,sysbuf это строки типа char* с 0 на конце

тогда что-то типа того:
Код:
char *newStr = new char[strlen(Reget) + strlen(sysbuf) + 2];

strcpy(newStr, Reget);
strcat(newStr, ",");
strcat(newStr, sysbuf);

RegSetValueEx (hk, "Userin", 0,REG_SZ, (LPBYTE)newStr, strlen(newStr) + 1);
зы: это для с++, если у тя не проплюсованый язык то используешь malloc вместо new

Последний раз редактировалось UltimaBeaR; 21.12.2010 в 14:28.
UltimaBeaR вне форума Ответить с цитированием
Старый 14.04.2012, 14:22   #5
drmiller
Новичок
Джуниор
 
Регистрация: 19.02.2012
Сообщений: 1
По умолчанию

Вот тут я писал класс для работы с реестром винды, может поможет
http://drmiller-developer.blogspot.c...c-windows.html
drmiller вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с реестром Aleksey1989 Общие вопросы Delphi 10 14.11.2010 13:09
работа с реестром alex0097 Общие вопросы Delphi 1 13.07.2010 10:20
работа с реестром Sharp_eye Помощь студентам 8 21.06.2009 00:05
Работа с реестром Pr1meEX Общие вопросы Delphi 0 17.06.2009 00:01
Работа с реестром D!zel Общие вопросы Delphi 4 23.12.2008 12:41