ログオンしているユーザーのコンテキストからアクセスすると、HKEY_CURRENT_USER レジストリ ベース キーを介してすぐに利用できるレジストリ値 (別のプログラムによって書き込まれる) にアクセスしようとしています。残念ながら、私はサービスからこの情報にアクセスしているため、収集した情報から、次の 2 つのオプションがあります。
- レジストリにアクセスするすべてのコードに対してログオン ユーザーになりすまし、HKEY_CURRENT_USER/SOFTWARE/Company/Product 経由で HKEY_CURRENT_USER ベース キーを使用してレジストリにアクセスします。
- ログオンしているユーザーの SID を取得し、HKEY_USERS/{SID}/SOFTWARE/Company/Product... 経由で HKEY_USERS ベース キーを使用してレジストリにアクセスします。
私が扱っている大規模なコードベースでははるかに複雑ではないため、2 番目のソリューションを使用したいと思います。レジストリ仮想化とそれが引き起こす可能性のある問題について最近知ったので、上記の解決策が機能することを確認し、問題を解決するために利用できる他の解決策があるかどうかを尋ねたい.
この件に関してあなたが提供できる知識、または私が見つけられなかった可能性のある記事を教えてくれてありがとう.