procedure TForm1.Button1Click(Sender: TObject);
var Reg : TRegistry;
begin
Reg := TRegistry.create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKeyReadOnly('任意のプログラムパスが含まれている所までのパス');
label1.Caption:= reg.ReadString('');
end;
これをコンパイルしてButton1を押すとlabel1のcaptionが空白に
なってしまうんですがどうすれば良いでしょうか。
OpenKeyReadOnlyの戻り値はTrueですか?
Reg.OpenKeyReadOnly('任意パス',****(True));?
ReadOnlyにしているので****のところには何も入れてません
>>OpenKeyReadOnlyの戻り値はTrueですか?
>Reg.OpenKeyReadOnly('任意パス',****(True));?
>ReadOnlyにしているので****のところには何も入れてません
OpenKeyReadOnlyが返す値です。
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKeyReadOnly('任意のプログラムパスが含まれている所までのパス') then
begin
label1.Caption := Reg.ReadString('');
Reg.CloseKey;
end
else
label1.Caption := 'not Open';
finally
Reg.Free;
end;
読み取るだけなら、これでクリエイトしては?
TRegistry.create(KEY_READ)
Create時の引数を省略すると、KEY_ALL_ACCESSでクリエイトされます。
アクセス権がないと、OpenKeyすら失敗した・・・気が。。。しないでもない。
ツイート | ![]() |