豚吐露@wiki

任意のレジストリが削除できない

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

任意のレジストリが削除できない

Windows10Pro 64bit
VisualStudio2013

64bitのWindows OSへ、32bitアプリケーションをinstallし、64bit側のレジストリにアクセスしようとすると発生する問題。

影響を受けるメソッドは、
RegCreateKeyEx
RegDeleteKeyEx
RegOpenKeyEx


どうやら、
  • 32bitアプリケーションから64bit領域のレジストリキーへのアクセス。
  • 64bitアプリケーションから32bit領域のレジストリキーへのアクセス。
には『REGSAM samDesired』へ特別なパラメータを付与してやる必要があるらしい。

KEY_WOW64_32KEY 32bit領域のレジストリの操作に必要なアクセスマスク
64bitアプリケーションからWow64以下を参照するのに必要。多分...
KEY_WOW64_64KEY 64bit領域のレジストリの操作に必要なアクセスマスク
32bitアプリケーションからWow64でないトコを参照するのに必要。多分...

とりあえず、open時にKEY_WOW64_64KEYを付与して、RegDeleteKeyしたらちゃんと所望の項目を削除できた。


日本語のトコも参照してください。
RegOpenKeyEx(JP)
RegCreateKeyEx(JP)



更新日: 2018年01月19日 (金) 15時27分50秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
ウィキ募集バナー