Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.01.2010, 19:36
Аватар для Lotles
Lotles Lotles вне форума
Прохожий
 
Регистрация: 05.09.2009
Адрес: г. Новокузнецк
Сообщения: 46
Репутация: -52
По умолчанию RegINIFile

Здравствуйте !!!
Подскажите, почему в Str не записывается значение из реестра, MenuHeight в реестре равно -285, а у меня показывает 'ничего', Str:=''

Код:


Код:
procedure TForm1.Button1Click(Sender: TObject);
var
reg:TregIniFile;
Str:String;
begin
reg := TRegIniFile.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Control Panel\Desktop\WindowMetrics', True);
Str:=reg.ReadString('WindowMetrics','MenuHeight',' ');
ShowMessage(Str);
end;

end.
__________________
Skype: Lotles-XXXX
Ответить с цитированием
  #2  
Старый 03.01.2010, 20:13
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

Строковый параметр из реестра читаеться так

Код:
function RegQueryStr(RootKey: HKEY; Key, Name: string;
  Success: PBoolean = nil): string;
var
  Handle: HKEY;
  Res: LongInt;
  DataType, DataSize: DWORD;
begin
  if Assigned(Success) then
    Success^ := False;
  Res := RegOpenKeyEx(RootKey, PChar(Key), 0, KEY_QUERY_VALUE, Handle);
  if Res <> ERROR_SUCCESS then
    Exit;
  Res := RegQueryValueEx(Handle, PChar(Name), nil, @DataType, nil, @DataSize);
  if (Res <> ERROR_SUCCESS) or (DataType <> REG_SZ) then
  begin
    RegCloseKey(Handle);
    Exit;
  end;
  SetString(Result, nil, DataSize - 1);
  Res := RegQueryValueEx(Handle, PChar(Name), nil, @DataType,
    PByte(@Result[1]), @DataSize);
  if Assigned(Success) then
    Success^ := Res = ERROR_SUCCESS;
  RegCloseKey(Handle);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Str:String;
begin
str:=RegQueryStr(HKEY_CURRENT_USER, 'Control Panel\Desktop\WindowMetrics', 'MenuHeight');
ShowMessage(Str);
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025