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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
#1

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

05.03.2010, 16:21. Просмотров 1822. Ответов 8
Метки нет (Все метки)

Решил автоматизировать процесс удаления некоторых значений в реестре
написал такое:
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" не хочет
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2010, 16:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление ключа реестра (C++):

Здесь есть удаление столбца, как добавить удаление строки - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { int n; do {cout &lt;&lt; &quot;Razmer massiva: &quot;; cin &gt;&gt; n;...

Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств ) - C++
Описать класс «множество», позволяющий выполнять основные операции – добавление и удаление элемента, пересечение, объединение и удаление...

Генерация ключа rsa - C++
привет пишу криптоутилиту, загвоздка в генерации ключей, точнее, в генерации псевдослучайной посл-ти для них линейный конгруэнтный...

Реализация аппаратного ключа - C++
Пребуется помощь в реализации аппаратного ключа есть флешка и программа(не важно какая), нужно чтобы эта программа запускалась только при...

MAP в качестве ключа - C++
Есть map&lt;string, map&lt;Language, string&gt; lang; map&lt;string, map&lt;Language, string&gt; &gt;::iterator itr = langHashtable.find(keyLabe); Нахожу...

Отделение значения от ключа - C++
Доброго времени суток. Как можно, во время чтения файла, отделить значение от ключа? key=value

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Alexandoros
228 / 66 / 4
Регистрация: 02.06.2009
Сообщений: 280
05.03.2010, 18:35 #2
Конечно и не удалит. Код бредовый. Где проверки на ошибки? Почему открываем один ключ, а удаляем из другого? Какой уровень доступа требует RegDeleteKey?

Понять почему не работает прога, а также ответы на эти и кучу других вопросов ты сможеш найти в мсдн.
0
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

Узнаешь больше если посмотришь в обозревателе объектов.
0
accept
4822 / 3243 / 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
);
0
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;
}
и вылезло кучу ошибок
0
NOU
1 / 1 / 0
Регистрация: 03.12.2009
Сообщений: 49
16.04.2010, 18:50 #6
Вместо звёздочки поставь варианты!!! (см. мое сообщение - выноска со звездочкой)
0
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
0
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();
Сори, за мою тупую ошибку.
0
Miller-1981
33 / 32 / 0
Регистрация: 26.01.2009
Сообщений: 592
15.09.2013, 14:39 #9
Цитата Сообщение от Alexandoros Посмотреть сообщение
Конечно и не удалит. Код бредовый. Где проверки на ошибки? Почему открываем один ключ, а удаляем из другого? Какой уровень доступа требует RegDeleteKey?

Понять почему не работает прога, а также ответы на эти и кучу других вопросов ты сможеш найти в мсдн.
умный да))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 14:39
Привет! Вот еще темы с ответами:

Извлечение значения и 3-и ключа - C++
Каким образом можно сделать или даже использовать уже готовую структуру данных, с помощью которой в нее можно поместить 4 аргумента или 2....

Map. 0 в качестве ключа [0] - C++
Если создать словарь map и в качестве ключа использовать целые числа. Почему нельзя использовать ключ 0 ? Когда пытаешься вывести, выдает...

un XOR без ключа - C++
опять же по Страуструпу задание. написать прогу ксорящую текст с ключом, затем расшифровывающую данный ксоренный тескт с ключом. Но потом...

Поиск ключа в массиве - C++
1. Разработать программу, обеспечивающую выполнение следующих функций: - Формирование и вывод на экран массива случайных чисел,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.09.2013, 14:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru