Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Работа с реестром С++

Ответить
Настройки темы
C/C++ - Работа с реестром С++

Пользователь


Сообщения: 98
Благодарности: 1

Профиль | Отправить PM | Цитировать


Привет всем!
Тут начал разбираться с C++ и столкнулся с такой проблемкой, не как не определюсь с порядком построения команд в "Borland C++ v.5.02".
До этого в основном работал с скриптовыми языками там всё гораздо понятнее

Подскажите как будет выглядеть такая запись:

Добавить параметр типа DWORD

Код: Выделить весь код
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=dword:00000001
Удалить

Код: Выделить весь код
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=dword:00000001
На скриптовом языке "AutoIt" это будет выглядеть примерно так

Добавить параметр типа DWORD

Код: Выделить весь код
RegWrite('HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableTaskMgr','REG_DWORD','1')
Удалить

Код: Выделить весь код
RegDelete('HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableTaskMgr')

Отправлено: 20:29, 01-10-2009

 

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


ShadowMas, примерно так.

Код: Выделить весь код
#include <registry.hpp>
...
  TRegistry* reg1 = new TRegistry;

   reg1->RootKey = HKEY_CURRENT_USER;	//присваивание объекту 'reg' пути HKLM
   reg1->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", true);
   reg1->WriteInteger("Имя_Параметра", значение);
...
Код: Выделить весь код
reg1->DeleteValue();   // Удаляет параметр
reg1->DeleteKey();   // Удаляет ключ
Шаг 13 - TRegistry.
Шаг 14 - Извлечение иконки по расширению файла и ее загрузка из DLL или EXE.

Код: Выделить весь код
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=dword:00000001
Достаточно просто
Код: Выделить весь код
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 20:47, 01-10-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 98
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасиб щас опробую!

Отправлено: 00:22, 02-10-2009 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата ShadowMas:
Borland C++ v.5.02 »
в нём фокус, предложенный Drongo не прокатит. Надо или из библиотеки OWL класс искать, или Win32 API.
Win32 API:
Код: Выделить весь код
// 1. получить мнимый указатель на ветку реестра HKEY функцией RegOpenKey
// 2. получить значение функцией RegQueryValue
// 3. освободить указатель RegCloseKey

unsigned char binary_data_buffer[100];
long binary_data_buffer_size;
HKEY hkey; // RegOpenKey инициализирует нулём, если не получится

if (0==RegOpenKey(HKEY_CURRENT_USER, "Software\\Path", &hkey) &&
   0==RegQueryValue(hkey, "var_name", binary_data_buffer, &binary_data_buffer_size))
{
    clog << hex << setfill('0');

    for(unsigned b=0; n<binary_data_buffer_size; ++n)
   {
       clog << hex << setw(2) << unsigned(binary_data_buffer[n]) << "  ";
   }
}

if (hkey) RegCloseKey(hkey);
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:41, 02-10-2009 | #4


Пользователь


Сообщения: 98
Благодарности: 1

Профиль | Отправить PM | Цитировать


Да я смотрю С++ не сильно дружит с реестром Windows ) А 1 пример я так понимаю к Borland C++ Builder 6.0 да?!

Отправлено: 20:43, 02-10-2009 | #5


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата ShadowMas:
А 1 пример я так понимаю к Borland C++ Builder 6.0 да?! »
Да. Я в своей конфигурации компьютера в раздел Прочее, написал свою среду разработки, чтобы знали.
Цитата:
Borland C++ Builder 6.0 Enterprise Suite

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 21:11, 02-10-2009 | #6

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать



ShadowMas, С++ и реестр windows - это язык программирования и программный объект.
Цитата ShadowMas:
Да я смотрю С++ не сильно дружит с реестром Windows »
Всё равно что сказать, что русский язык со стихами не дружит.

Пример Drongo подходит к любому компилятору C/C++, который сможет использовать библиотеку VCL.
А с чем связано использование такого устаревшего компилятора как BC++ 5.0.2? Он ведь даже со стандартную библиотеку С++ неуверенно собирает...
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:01, 03-10-2009 | #7


Пользователь


Сообщения: 98
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата pva:
А с чем связано использование такого устаревшего компилятора как BC++ 5.0.2? Он ведь даже со стандартную библиотеку С++ неуверенно собирает... »
Просто оказался под рукой, и быстро устанавливается, а вообще я с "Borland C++ Builder 6.0" буду работать к нему я так понял этот пример приминим!

Отправлено: 01:35, 04-10-2009 | #8


Аватара для CyberStyLe

Новый участник


Сообщения: 44
Благодарности: 4

Профиль | Отправить PM | Цитировать


Необходимо написать программку твикер. В дальнейшем планируется сделать GUI.

Все что она будет делать, - это запускаться и добавлять/изменять/удалять в реестр некоторые ключи и параметры, после этого завершать свою работу.

Имеется опыт в написании подобных программок на AutoIt.
Пишу(пытаюсь писать) в C++ Builder 2009.

Кто подкинет хотя бы небольшой примерчик кода, чтобы было отчего отталкиваться. Ну или ссылку по моей теме.

Отправлено: 16:28, 30-03-2010 | #9


Аватара для zonderz

Ветеран


Сообщения: 727
Благодарности: 150

Профиль | Отправить PM | Цитировать


CyberStyLe

Вам нужно использовать класс TRegistry
в справке подробно описано +
ссылок в инете море...
http://sources.ru/builder/faq/index.html

-------
MCP, MCSA, MCSE, разработчик программы CMDTools
http://forum.oszone.net/thread-170783.html


Последний раз редактировалось zonderz, 30-03-2010 в 18:12.


Отправлено: 17:05, 30-03-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Работа с реестром С++

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Работа с реестром TERMINAL AutoIt 10 15-06-2012 11:41
Проблемы с реестром metroid Microsoft Windows 2000/XP 1 23-03-2006 08:02
Работа с реестром semen1967 Хочу все знать 18 27-11-2004 12:05
Работа с реестром на дельфи 7 fossil Программирование и базы данных 6 03-09-2004 13:49
Работа с реестром Artya Программирование и базы данных 3 08-09-2003 10:19




 
Переход