Главная страница
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.029 c
2-1162269085
Wood
2006-10-31 07:31
2006.11.19
Excel, автоподбор высоты строки.


15-1162528208
BorisMor
2006-11-03 07:30
2006.11.19
трабл в Turbo Delphi


15-1162204867
User Boris
2006-10-30 13:41
2006.11.19
Литература по изучению Delphi


2-1162301640
daser
2006-10-31 16:34
2006.11.19
как sql-запросом убить 2 одинаковые записи?


15-1162550539
Stanislav1
2006-11-03 13:42
2006.11.19
UNIX программист