Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 17.07.2005
Полчаса пытался разобратся с описаниями функций в msdn но понял только то что немогу ничего понять :( .Там все оказалось так закручено со структурами и хендлями :x , а примеров нету :insane: .Может кто нибудь подробно опишет как надо использовать RegCreateKey и RegCreateKeyEx или хотя бы даст линк где это подробно обсуждается или описывается.



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
начнем с того, что изначально есть хендл для HKLM (HKEY_LOCAL_MACHINE), как и для других веток реестра. С помощью него (них) мы уже можем открывать (получая хендл) и создавать ключи...

Код:
HKEY VAL;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SYSTEM\\Setup"),0,KEY_QUERY_VALUE,&VAL);

VAL = хендл для раздела HKEY_LOCAL_MACHINE\SYSTEM\Setup
Код:
BYTE SystemPrefix[8];
DWORD dwSystemPrefix[2];
DWORD dwBufLen = 8;
...
RegQueryValueEx(VAL,TEXT("SystemPrefix"),NULL,NULL,(LPBYTE)SystemPrefix,(LPDWORD)&dwBufLen);

получаем значение ключа SystemPrefix, находящегося в разделе, хендл которого находится в VAL...
Добавлено спустя 10 минут, 27 секунд
Код:
RegReplaceKey(HKEY_LOCAL_MACHINE, "SYSTEM",  argv[1], argv[2]);

два момента:
а) эта функция заменяет ветвь HLKM\SYSTEM на ветвь из файла argv[1], а бекап кладет в argv[2]
б) используем предопределенный хендл HKEY_LOCAL_MACHINE
Код:
HKEY hKey = HKEY_LOCAL_MACHINE, hKey1;
RegOpenKeyEx(hKey,"SYSTEM",0,KEY_ALL_ACCESS,&hKey1);
RegSaveKey(hKey1,argv[1],NULL);
RegCloseKey(hKey1);
RegCloseKey(hKey);

открывает ветвь HKLM\SYSTEM и кладет ее в файл, указанный в argv[1]

И Т.Д.
остальные функции юзаются аналогично и ничего сверхсложного тут нет.

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Member
Статус: Не в сети
Регистрация: 17.07.2005
Я правильно понял что RegCreateKey после своего выполнения создает ветку реестра и возращает на неё хендль (в phkResult)? только я не совсем понял в переменные какого типа можно писать этот,да и любой хендль возвращаемый функция ми реестра.можно поподробнее о хендлях?


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Цитата:
только я не совсем понял в переменные какого типа можно писать этот,да и любой хендль возвращаемый функция ми реестра

есть специальный тип HKEY, который по сути является long int'ом. В переменную энтого типа просто записывается число, чтобы идентифицировать ветку реестра, причем каждый раз (когда открываешь хендл) они могут быть разные, но пока его используешь он однозначно идентифицирует объект, на который указывает. Примерно как и с HWND (хендлами окон).
Цитата:
RegCreateKey

у меня MSDN сейчас не открывается :P Поэтому, думаю, что стоит самим туда слазить и почитать.
http://msdn.microsoft.com/library/en-us ... frame=true
Добавлено спустя 2 минуты, 48 секунд
а RegCreateKey возвращает код ошибки, а в последнем своем аргументе хендл...
Код:
HKEY yourKey;
if(RegCreateKey(HKEY_CURRENT_USER, "Software\\yourSoftware\\YourKey", &yourKey) == ERROR_SUCCESS) {
       DWORD data=555;
       RegSetValue(yourKey, "valueName", REG_SZ, (const BYTE*)&data, sizeof(DWORD));
}

пример взят с http://forum.codenet.ru/showthread.php?t=27791

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Member
Статус: Не в сети
Регистрация: 17.07.2005
LONG RegOpenKeyEx(HKEY hKey,LPCTSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
А REGSAM что тоже ещё один специальный тип :insane: ?


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
_nic unsigned long
http://msdn.microsoft.com/library/defau ... rights.asp

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 17.07.2005
А можно привести рабочий пример RegSetKeyValue?а т о никак немогу разобратся с возращаемыми значениями.


 

Member
Статус: Не в сети
Регистрация: 01.07.2006
Откуда: Челябинск
Что делают функции
JoyGetDevCaps
JoyGetNumDevs
JoyGetThreshold
joyReleaseCapture
joySetCapture
JoySetThreshold
по функциям для джойстиков разобрался тока с
JoyGetPos и JoyGetPosEx
и кто знает подскажите как определить установленные в системе джойстики


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan