「Delphi メモ」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成: ==Windows Vista 以降で HKEY_LOCAL_MACHINE の値をユーザ権限で読み取る場合== UACがONだと HKEY_LOCAL_MACHINE は読み取りしか出来ないので対策が必…)
 
編集の要約なし
 
1行目: 1行目:
==Windows Vista 以降で HKEY_LOCAL_MACHINE の値をユーザ権限で読み取る場合==
==Windows Vista 以降で HKEY_LOCAL_MACHINE の値をユーザ権限で読み取る場合==
UACがONだと HKEY_LOCAL_MACHINE は読み取りしか出来ないので対策が必要。
UACがONだと HKEY_LOCAL_MACHINE は読み取りしか出来ないので対策が必要。
OpenKeyできません。Accessプロパティを設定して下記のようにする必要がある。
対策しないと OpenKey ができないので、以下のように Accessプロパティを設定しする必要がある。


<pre class="brush: pascal;">
<pre class="brush: pascal;">

2010年6月22日 (火) 16:25時点における最新版

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;