Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не могу создать ключ и строковые значения в реестре на winapi.

57K
20 мая 2010 года
skobkin
5 / / 19.05.2010
Как уже писал в треде про ярлык, пишу инсталлятор. Снова косяк.
Пытаюсь создать ключ реестра по адресу
 
Код:
Software\Microsoft\Windows\CurrentVersion\Uninstall\

Кстати, я правильно понял, что сюда можно занести запись об установке, или я ошибся? (ключей тут меньше, чем установленного софта, онако flylink dc++ тут и в одной статье писали про этот ключ).
Используя код отсюда с msdn, пытаюсь адаптировать его под занесение строки:
 
Код:
char* title = new char[]; //Название программы
...
GetPrivateProfileStringA("main","title", "Unknown application",title,99,ini.c_str()); // Получаем название

title точно имеет нормальное значение.
Код:
// Пишем в реестр http://msdn.microsoft.com/en-us/library/ms838625.aspx
 HKEY   hkey;
 DWORD  dwDisposition;
 
 DWORD dwType, dwSize;

 string keypath = "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + string(title); // Задаем полный путь до ключа
 cout << "keypath=" << keypath.c_str() << endl;
 //string unpath = fulltarget + "\\uninstall.exe";\

 if(RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath.c_str(), 0, NULL, 0, 0, NULL, &hkey, &dwDisposition)==ERROR_SUCCESS)
 {
  dwType = REG_SZ;
  dwSize = sizeof(title) / sizeof (char);

  if (SUCCEEDED(RegSetValueExA(hkey, "DisplayName", 0, dwType, (PBYTE)&title, dwSize)))
      cout << "Value created";
  else
      cout << "Error creating value";
  /*
  dwSize =  unpath.length();
  RegSetValueEx(hkey, "UninstallString", 0, dwType, (BYTE)unpath.c_str(), dwSize);
  */
   RegCloseKey(hkey);
 }

Программа компилится, запускается, работает, пишет, что значение DisplayName создано, но ни ключа ни записи нету. В чем может быть ошибка?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог