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

Компьютерный форум 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 | Цитировать


CyberStyLe, Темы объединю, почитайте с самого начала.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
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


Отправлено: 18:03, 30-03-2010 | #11



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

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


Аватара для CyberStyLe

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


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

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


Цитата:
CyberStyLe, Темы объединю, почитайте с самого начала
Я не понял, приведите кто-нибудь пожалуйста часть кода с самого начала начиная с директив для CodeGear™ C++Builder® 2009 Version 12.0.3420.21218

Отправлено: 18:31, 30-03-2010 | #12


Аватара для Drongo

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


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

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


CyberStyLe, Вот упрощённый пример. Хотя по этой ссылке Шаг 13 - TRegistry. и Шаг 14 - Извлечение иконки по расширению файла и ее загрузка из DLL или EXE.. Очень понятно написано. Я не по верю, что вы бы не поняли, если бы прочли. Написано более чем доходчиво.

Код: Выделить весь код
// Работа с реестром C++ Builder 2009-----------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <registry.hpp>

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
// Записать в реестр---------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   TRegistry* reg = new TRegistry;

   reg->RootKey = HKEY_CURRENT_USER;	//присваивание объекту 'reg' пути HKCU
   reg->OpenKey("Software\\Test", true);
   reg->WriteString("TestKey", "TestValue");
}
// Удалить из реетра---------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   TRegistry* reg = new TRegistry;

   reg->RootKey = HKEY_CURRENT_USER;	
   reg->OpenKey("Software\\Test", true);
   reg->DeleteValue("TestKey");
}
//---------------------------------------------------------------------------

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
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:22, 30-03-2010 | #13


Аватара для -Marshall-

Старожил


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

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


Пишу твикер и столкнулся с таким твиком, чтоб не проверять диски при загрузке системы. Так там идёт в hex формате... Раньше такого не знал, но тут столкнулся и не пойму как это реализовать на своём C++ Builder'e..
Помогите пожалуйста.
Вот сам твик (1 и 3 я реализовал, а 2 и 4 не понимаю...):

Код: Выделить весь код
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
"AutoChkTimeOut"=dword:0000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
"BootExecute"=hex(7):61,00,75,00,74,00,6f,00,63,00,68,00,65,00,63,00,6b,00,20,\
00,61,00,75,00,74,00,6f,00,63,00,68,00,6b,00,20,00,2a,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"SFCScan"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\cleanuppath]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6c,00,\
65,00,61,00,6e,00,6d,00,67,00,72,00,2e,00,65,00,78,00,65,00,20,00,2f,00,44,\
00,20,00,25,00,63,00,00,00

Отправлено: 20:16, 09-04-2010 | #14


Аватара для -Marshall-

Старожил


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

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


Ну что, никто не знает?

Отправлено: 08:36, 20-04-2010 | #15


Ветеран


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

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


-Marshall- если не смущает что без использования встроенных возможностей Билдера то, то по второму есть пример
Цитата Родные приложения => Самое главное - запуск:
Для того чтобы native-приложение запускалось до загрузки винды (собственно, никак иначе его и не запустить… стандартными средствами) нужно залезть в реестр, в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager, открыть там ключ BootExecute
...
Другой вариант – это написать небольшой код специально для регистрации нашего приложения.
BOOL RegistryAdd(PSTR szAppName)

{
... >>
Для четвёртого привожу пример чтения значения по умолчанию для ветки реестра
Код: Выделить весь код
 #include <windows.h>

int wmain(int argc, wchar_t *argv[])
{
	HKEY hKey;
	if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,	L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\cleanuppath",
					NULL, KEY_QUERY_VALUE, &hKey))
					return -1;
	wchar_t sValue[MAX_PATH];
	DWORD dwDummy = MAX_PATH;
	RegQueryValueEx(hKey, NULL, NULL, NULL, (LPBYTE)sValue, &dwDummy);
	RegCloseKey(hKey);
	return 0;
}
В переменную (sValue)попадёт именно в строковом виде, в отличии от того что обнаружит блокнот после экспорта из реестра.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:40, 20-04-2010 | #16



Компьютерный форум 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




 
Переход