Delphi メモ
Windows Vista 以降で HKEY_LOCAL_MACHINE の値をユーザ権限で読み取る場合
UACがONだと HKEY_LOCAL_MACHINE は読み取りしか出来ないので対策が必要。 対策しないと OpenKey ができないので、以下のように Accessプロパティを設定しする必要がある。
Reg:=TRegistry.Create(); Reg.RootKey:=HKEY_LOCAL_MACHINE; Reg.Access:=KEY_READ; // <-これがないと以下のif文が通らなくなる //メールクライアント情報を取得 if Reg.OpenKey('\SOFTWARE\Clients\Mail\',false) then begin //通したい処理 end;