Форум программистов, компьютерный форум CyberForum.ru

Удаление ключа реестра - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
05.03.2010, 16:21     Удаление ключа реестра #1
Решил автоматизировать процесс удаления некоторых значений в реестре
написал такое:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <windows.h>
int main()
{
//-------------------------------
HKEY rKey; 
RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\Microsoft\SystemCertificates\SPC\Certificates "), 0, KEY_QUERY_VALUE, &rKey);
RegDeleteKey(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\Microsoft\SystemCertificates\SPC\Certificates "));
//------------------------------
return 0;
}
Прога запускается но удалять из "папки" "Certificates" не хочет
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2010, 16:21     Удаление ключа реестра
Посмотрите здесь:

C++ MAP в качестве ключа
C++ un XOR без ключа
Извлечение значения и 3-и ключа C++
Поиск ключа в массиве C++
C++ Отделение значения от ключа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alexandoros
226 / 64 / 4
Регистрация: 02.06.2009
Сообщений: 280
05.03.2010, 18:35     Удаление ключа реестра #2
Конечно и не удалит. Код бредовый. Где проверки на ошибки? Почему открываем один ключ, а удаляем из другого? Какой уровень доступа требует RegDeleteKey?

Понять почему не работает прога, а также ответы на эти и кучу других вопросов ты сможеш найти в мсдн.
NOU
1 / 1 / 0
Регистрация: 03.12.2009
Сообщений: 49
05.03.2010, 19:59     Удаление ключа реестра #3
Тут можно вообще без апи обойтись! Есть класс для работы с реестром - Microsoft::Win32::Registry

Вот кусок кода(CLR):

C++
1
2
3
4
5
6
int main()
{
Microsoft::Win32::Registry regWorker;
regWorker.*->DeleteValue(Путь реестра);
return 0;
}

* - варианты:
Users
PerformanceData
LocalMachine
DynData
CurrentUser
CurrentConfig
ClassesRoot

Узнаешь больше если посмотришь в обозревателе объектов.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.03.2010, 10:57     Удаление ключа реестра #4
Код
SOFTWARE\Microsoft\SystemCertificates\SPC\Certificates
KEY_SET_VALUE

Код
LONG WINAPI RegDeleteKey(
  __in  HKEY hKey,
  __in  LPCTSTR lpSubKey
);
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
07.04.2010, 22:58  [ТС]     Удаление ключа реестра #5
C++
1
2
3
4
5
6
7
int main()
{
Microsoft::Win32::Registry regWorker;
regWorker.*->DeleteValue(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\SPC\Certificates);
regWorker.*->DeleteValue(HKEY_LOCAL_MACHINE\SOFTWARE\KasperskyLab\LicStorage);
return 0;
}
и вылезло кучу ошибок
NOU
1 / 1 / 0
Регистрация: 03.12.2009
Сообщений: 49
16.04.2010, 18:50     Удаление ключа реестра #6
Вместо звёздочки поставь варианты!!! (см. мое сообщение - выноска со звездочкой)
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
11.05.2010, 17:33  [ТС]     Удаление ключа реестра #7
протупил

Добавлено через 19 минут
все-равно не идет .\123.cpp(10) : error C3622: 'Microsoft::Win32::Registry': a class declared as 'abstract' cannot be instantiated
NOU
1 / 1 / 0
Регистрация: 03.12.2009
Сообщений: 49
29.05.2010, 11:18     Удаление ключа реестра #8
А, все ясно. Делай воут так:
C++
1
2
Microsoft::Win32::RegistryKey ^ pcnum=Microsoft::Win32::Registry::CurrentUser->CreateSubKey("Каталог");
System::String ^ Text=pcnum->GetValue("Ключ","Если нет, то что возвращать")->ToString();
Сори, за мою тупую ошибку.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 14:39     Удаление ключа реестра
Еще ссылки по теме:

Реализация аппаратного ключа C++
C++ map, условие по отсутствию ключа
Map. 0 в качестве ключа [0] C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Miller-1981
33 / 32 / 0
Регистрация: 26.01.2009
Сообщений: 592
15.09.2013, 14:39     Удаление ключа реестра #9
Цитата Сообщение от Alexandoros Посмотреть сообщение
Конечно и не удалит. Код бредовый. Где проверки на ошибки? Почему открываем один ключ, а удаляем из другого? Какой уровень доступа требует RegDeleteKey?

Понять почему не работает прога, а также ответы на эти и кучу других вопросов ты сможеш найти в мсдн.
умный да))
Yandex
Объявления
15.09.2013, 14:39     Удаление ключа реестра
Ответ Создать тему
Опции темы

Текущее время: 12:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru