掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
D2007 32bitアプリから64ビットのRegistryアクセス (ID:41845)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Delphi2007 ent(32bit) + Windows7 64bit で開発をしています。 64ビットと32ビットのレジストリは別々で持っているようです。 64ビット:regedit 32ビット:%systemroot%\syswow64\regedit -m http://support.microsoft.com/kb/305097/ja D2007からTRegistryを使って64bitレジストリを取得したいのですが、 TRegistry.OpenKeyReadOnlyで行うと32bitのレジストリしか取れません。 D2007にも、XE2にも64bitレジストリを開く為のプロパティが存在しないのですが、 皆さんはどのようにしているのでしょうか? windows.pas の KEY_WOW64_RES = $0300; ではレジストリ両方見に行くようですが。 var Registry:TRegistry; KeyName:string; ReadStr:String; Ret : String; begin Registry :=TRegistry.Create; try Registry.RootKey := HKEY_LOCAL_MACHINE; //64bit App KeyName := 'SOFTWARE\WinRAR'; ReadStr := 'exe64'; //32bit app //KeyName := 'SOFTWARE\Adobe\Acrobat Reader\10.0\Language'; //ReadStr := 'UI'; Registry.OpenKey(KeyName,False); Ret :=Registry.ReadString(ReadStr); ShowMessage(Ret); finally Registry.Free; end; D2007 32bit 結果あり 64bit 結果空白 XE2体験版 32bit 結果空白 64bit 結果空白 TRegistryを使っている方がおられましたら、教えてください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.