Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

Реестр   Найти похожие ветки 

 
lobach ©   (2006-11-02 16:46) [0]

Подскажите как проверить существование ключа или раздела реестра


 
DVM ©   (2006-11-02 16:51) [1]

Открыть попытаться?


 
Anatoly Podgoretsky ©   (2006-11-02 16:54) [2]

> lobach  (02.11.2006 16:46:00)  [0]

что такое ключ понятно, а вот разделы узнавать не требуется они всегда
существуют. KeyExists


 
lobach ©   (2006-11-02 17:02) [3]


> они всегда
> существуют

С чего бы это?


 
lobach ©   (2006-11-02 17:44) [4]


> Открыть попытаться?

Пробовал открыть раздел, которого не существует, но даже ошибки не увидел...


 
Ketmar ©   (2006-11-02 17:47) [5]

>[4] lobach(c) 2-Nov-2006, 17:44
>Пробовал открыть раздел, которого не существует, но даже
>ошибки не увидел...
наверное потому, что показать её не удосужился?


 
lobach ©   (2006-11-02 19:53) [6]

Пример.
Хочу проверить существование раздела HKEY_LOCAL_MACHINE\"SOFTWARE\123:

begin
Reg:= TRegistry.Create;
Reg.RootKey:= HKEY_LOCAL_MACHINE;
Reg.OpenKey("SOFTWARE\123", True);
if Reg.KeyExists("SOFTWARE\123")= True then
Showmessage("Раздел существует")
else
Showmessage("Раздел не существует");
Reg.CloseKey;
Reg.Free;
end;

Пишет "Раздел не существует" хотя он стопудово есть. Что ни так?


 
Percent   (2006-11-02 20:00) [7]

Reg.OpenKey("SOFTWARE\123", True);
if Reg.KeyExists("SOFTWARE\123")= True then


Аффтар, ну ты когда думать будешь?
Ты ищешь раздел "SOFTWARE\123" в разделе "SOFTWARE\123".
Он у тебя там есть?
"SOFTWARE\123\SOFTWARE\123"


 
Percent   (2006-11-02 20:03) [8]

Reg.OpenKey("SOFTWARE\123", True); - убей эту строку... об стенку.


 
lobach ©   (2006-11-02 20:05) [9]


> Percent

Извини брат, мозги уже не варят..
Reg.OpenKey("SOFTWARE", True);
if Reg.KeyExists("123")= True then

Теперь пашет...
Надо бы мне поспать, а то время много..


 
Anatoly Podgoretsky ©   (2006-11-02 20:54) [10]


> Хочу проверить существование раздела HKEY_LOCAL_MACHINE\"SOFTWARE\123:

Это не раздел, а ключ - проверь перевод слова KeyExists


 
Anatoly Podgoretsky ©   (2006-11-02 20:56) [11]

Осталось узнать, что же ты тогда ключом называешь?


 
RASkov   (2006-11-03 00:15) [12]

> Reg.OpenKey("SOFTWARE\123", True);
> if Reg.KeyExists("SOFTWARE\123")= True then

А так, помоему, мало смысла делать. OpenKey со 2 параметром True создаст ключ
Лучше так:

if Reg.OpenKey("\SOFTWARE\123", True) then begin
Reg.WriteString("MyApp",""" + ParamStr(0) + """);
Reg.CloseKey;
end;


 
RASkov   (2006-11-03 00:23) [13]

KeyExists
ValueExists
Registry+F1
А проверить можно и не открывая
if Reg.KeyExists("SOfTWARe\123") then
ShowMessage("Yes")
else ShowMessage("No");



Страницы: 1 вся ветка

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.06 c
2-1162412292
Reaper85
2006-11-01 23:18
2006.11.19
СПАСИТЕЕЕЕЕ!!!!


15-1162473263
Leva
2006-11-02 16:14
2006.11.19
Подскажите как решить проблему?


2-1162405074
Gamer
2006-11-01 21:17
2006.11.19
Отправка сообщения по сети


2-1162736309
Student2007
2006-11-05 17:18
2006.11.19
Узнать цвет PaintBox по заданным координатам...


15-1162507884
Ketmar
2006-11-03 01:51
2006.11.19
какими только извращениями люди не страдают...