Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
2-1162308816
doooooo
2006-10-31 18:33
2006.11.19
DWord => 2Word


2-1162193174
STARiK
2006-10-30 10:26
2006.11.19
Удаленное изменение структуры dbf


4-1152100832
ILIA82
2006-07-05 16:00
2006.11.19
права доступа в NTFS


3-1158587784
Vedem
2006-09-18 17:56
2006.11.19
Почему IF @@ERROR <> 0 не выполняется


11-1136725971
Grom PE
2006-01-08 16:12
2006.11.19
Почернение контролов в Design-Time




   Наверх