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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » корневой каталог как его сменить?

Ответить
Настройки темы
корневой каталог как его сменить?

Старожил


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

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


Всем привет!
народ, ктонибуть знает как сменить корневой каталог при работе с рееестром,
и почему следующая строчка  вызывает ошибку
rootkey:=HKEY..........
в справке по делфи сказано что параметр rootkey должен иметь целочисленное значение, но почему то во всех примерах приводится вышеперечисленная строска....?

Отправлено: 10:47, 23-02-2004

 

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


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

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


Все rootkey в Windows.pas определены как константы
Цитата:
const
{ Reserved Key Handles. }

 {$EXTERNALSYM HKEY_CLASSES_ROOT}
 HKEY_CLASSES_ROOT     = DWORD($80000000);
 {$EXTERNALSYM HKEY_CURRENT_USER}
 HKEY_CURRENT_USER     = DWORD($80000001);
 {$EXTERNALSYM HKEY_LOCAL_MACHINE}
 HKEY_LOCAL_MACHINE    = DWORD($80000002);
 {$EXTERNALSYM HKEY_USERS}
 HKEY_USERS            = DWORD($80000003);
 {$EXTERNALSYM HKEY_PERFORMANCE_DATA}
 HKEY_PERFORMANCE_DATA = DWORD($80000004);
 {$EXTERNALSYM HKEY_CURRENT_CONFIG}
 HKEY_CURRENT_CONFIG   = DWORD($80000005);
 {$EXTERNALSYM HKEY_DYN_DATA}
 HKEY_DYN_DATA         = DWORD($80000006);
Соответственно для работы с реестром нужно
Uses
 Windows, Registry,.....;
...
var
 r: TRegistry;
begin
 r := TRegistry.Create;
 r.rootkey := HKEY_LOCAL_MACHINE;//или что-то другое
...
 r.Free;
end;

Отправлено: 17:21, 23-02-2004 | #2



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

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


Старожил


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

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


а кто знает что нужно сделать, или какую прогу нужно запустить что бы изменения в реестре которые я сделал в сетевом доступе, вступили в силу?

Отправлено: 20:46, 25-02-2004 | #3

simonchik


Сообщения: n/a

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


сорри за повторение, но я не понял в чем фишка....просто та же проблема, но в C++

TRegistry& regKey = *new TRegistry();
regKey.RootKey=HKEY_LOCAL_MACHINE;
bool keyGood = regKey.OpenKey("HARDWARE\DEVICEMAP\SERIALCOMM",false);
if (!keyGood) return;
.......
regKey.Free();
таким образом keyGood становиться false и вываливается

Добавлено:

хотя если  
TRegistry& regKey = *new TRegistry();
regKey.RootKey=HKEY_CURRENT_CONFIG;
bool keyGood = regKey.OpenKey("Software",false);
if (!keyGood) return;
.......
regKey.Free();

keyGood становиться true, в чем разница не пойму....

Отправлено: 02:19, 26-02-2004 | #4


Модер


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

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


simonchik
Используй OpenKeyReadOnly

-------
Васкецов Сергей
http://registry.oszone.net


Отправлено: 22:55, 26-02-2004 | #5

simonchik


Сообщения: n/a

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


проблема была решена следующим образом
геморно, но работает .....

TRegistry& regKey = *new TRegistry();
regKey.RootKey=HKEY_LOCAL_MACHINE;
bool keyGood = regKey.OpenKey("HARDWARE", false);
if (!keyGood) return;

      bool keyGood2 = regKey.OpenKey("DEVICEMAP", false);
              if (!keyGood2) return;

      bool keyGood3 = regKey.OpenKey("SERIALCOMM", false);
              if (!keyGood3) return;

regKey.Free();

Отправлено: 23:20, 26-02-2004 | #6


Аватара для shurikan

Старожил


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

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


simonchik
Не забывай, что внутри Си-шной строки символ \ имеет специальное значение, так что должно быть не

bool keyGood = regKey.OpenKey("HARDWARE\DEVICEMAP\SERIALCOMM",false);
,

а

bool keyGood = regKey.OpenKey("HARDWARE\\DEVICEMAP\\SERIALCOMM",false);

-------
UNIX, UNAS и др. Myself I'll like 'em


Отправлено: 04:27, 27-02-2004 | #7

simonchik


Сообщения: n/a

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


да, спасибо, я понял....

Отправлено: 01:42, 02-03-2004 | #8


Старожил


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

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


а по моему вопросу ни ктоне знает.....?

Отправлено: 18:30, 05-03-2004 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » корневой каталог как его сменить?

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Корневой каталог диска C medvedkovo Microsoft Windows Vista 5 16-02-2009 15:04
Как перенести каталог на другой диск?? сохраняя при етом его безопасноть и доступ??? Anatoliy2004 Microsoft Windows NT/2000/2003 8 04-12-2008 11:12
Flash - Проблема копирования большого количества файлов в корневой каталог флешки SANIOK_AV Накопители (SSD, HDD, USB Flash) 2 05-09-2008 11:43
Разное - [решено] Проблема копирования большого количества файлов в корневой каталог съёмного диска SANIOK_AV Microsoft Windows 2000/XP 2 02-09-2008 16:47
Сменить права на каталог unknown Вебмастеру 2 17-11-2004 10:57




 
Переход