HKEY_LOCAL_MACHINESoftwareDearim에 Angel의 value를 얻고자 합니다.
그런데...
버튼 3을 누르면, 리스트 박스에는 'Angel' 값이 출력되는데,
메시지 박스에는 아무값도 들어가지 않습니다.
제가 문법을 잘 몰라서 그러는 것인지..
꼭 알려주세요... 부탁드려요... ㅜ.ㅡ
procedure TForm1.Button2Click(Sender: TObject);
var
aReg : TRegistry;
Str:TStringList;
i : Integer;
rInfo: TRegKeyInfo;
begin
aReg := TRegistry.Create;
Str := TStringList.Create;
try
aReg.RootKey := HKEY_LOCAL_MACHINE;
aReg.Openkey('SoftwareDearim', True);
aReg.GetKeyInfo(rInfo) ;
aReg.GetkeyNames(Str);
for i := 0 to rInfo.NumSubKeys -1 do
begin
ListBox1.Items.Add(Str.Strings[i]);
showmessage(aReg.Readstring(Str.Strings[i])); <<--요기요...
end;
finally
aReg.CloseKey;
aReg.Free;
Str.Free;
end;
end;
정확히는 상황을 모르겠습니다만,
레지스트리에서 구하고자 하시는게 값(Value)의 데이터(Data)입니까?
지금(밤중) 델파이가 설치된 환경에 있는게 아니라서 기억뿐이라 정확하지 않지만 GetKeyNames가 값(Value)들을 가져오는건 아닐 겁니다. ^^;
제가 알기론 키(Key)는 계층 구조 자체이고
값(Value)가 데이터(Data)를 가지고 있는 것으로 기억하는데요.
(맞을걸요. ^^;)
델파이 헬프에서 조금만 더 찾아보시길...
[질문]레지스트리에 쓰기 wrote:
>
> HKEY_LOCAL_MACHINESoftwareDearim에 Angel의 value를 얻고자 합니다.
> 그런데...
> 버튼 3을 누르면, 리스트 박스에는 'Angel' 값이 출력되는데,
> 메시지 박스에는 아무값도 들어가지 않습니다.
>
> 제가 문법을 잘 몰라서 그러는 것인지..
>
> 꼭 알려주세요... 부탁드려요... ㅜ.ㅡ
>
> procedure TForm1.Button2Click(Sender: TObject);
> var
> aReg : TRegistry;
> Str:TStringList;
> i : Integer;
> rInfo: TRegKeyInfo;
> begin
> aReg := TRegistry.Create;
> Str := TStringList.Create;
> try
> aReg.RootKey := HKEY_LOCAL_MACHINE;
> aReg.Openkey('SoftwareDearim', True);
> aReg.GetKeyInfo(rInfo) ;
>
> aReg.GetkeyNames(Str);
> for i := 0 to rInfo.NumSubKeys -1 do
> begin
> ListBox1.Items.Add(Str.Strings[i]);
> showmessage(aReg.Readstring(Str.Strings[i])); <<--요기요...
> end;
>
> finally
> aReg.CloseKey;
> aReg.Free;
> Str.Free;
> end;
> end;