Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Читаем значение реестра с помощью RegOpenKeyEx.


Mazenrat ©   (2002-09-28 15:38:00) 

Доброго времени суток.

Помогите реализовать проверку значения в реестре. В ключе реестра, представленном ниже, есть параметр по умолчанию, равный - "C:\WINDOWS\cdplayer.exe -play %1". Нужно проверить, такое-ли значение в реестре юзера.

[HKEY_CLASSES_ROOT\AudioCD\shell\Play\command]
@="C:\WINDOWS\cdplayer.exe -play %1"


Следующим кодом я пытался именно это и сделать, но... Так как мне нужно проверить значение параметра по умолчанию, то второй параметр в RegQueryValueEx у меня - nil. Я пытаюсь прочитать значение, если не ошибаюсь - это BufSize.

function ExistsPlayCD(const BufSize: String):Boolean;
var
Key : HKey;
begin
if RegOpenKeyEx(HKEY_CLASSES_ROOT, "AudioCD\shell\Play\command", 0,
KEY_QUERY_VALUE, Key) = ERROR_SUCCESS then try
Result := RegQueryValueEx(Key, nil, nil, nil,
nil, @BufSize) = ERROR_SUCCESS
finally
RegCloseKey(Key)
end else
Result := False
end;

//Применение
if ExistsPlayCD("C:\WINDOWS\cdplayer.exe -play %1") then
ShowMessage("YES String")
else
ShowMessage("No String");


Вообщем ничего не читаеться, не работает. Помогите!!!


Cr@sh   (2002-09-28 17:19:00) [1]

Ну не хочешь твое право. Мое дело предложить...


Mazenrat   (2002-09-28 17:02:00) [2]


> Посмотри это может поможет


Это никак не поможет, т.к. я не хочу использовать модуль Registry.


Cr@sh   (2002-09-28 16:04:00) [3]

Посмотри это может поможет

reg:=TRegIniFile.create;
reg.RootKey:=HKey_Classes_Root;
if reg.ReadString(".asr","","No")="No" then
showmessage("Значения нет")
else
showmessage("OK");


Наверх

Титульная страница Поиск, карта сайта Написать письмо