![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Читаем значение реестра с помощью 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");