0

Access 2007 および Access 2010 の 50 台以上の PC (Vista & Windows 7 32 & 64 ビット) で何年も問題なく動作するコード行があります。

    RegStr = fReturnRegKeyValue(HKEY_LOCAL_MACHINE, "Software\ThisApp\App", "Activation")

Access2010/VBA モジュール (32 ビット) を搭載した 1 台の特定の PC (Windows 7 64 ビット)

上記のコード行では、レジストリ キーが表示されません。

HKEY_LOCAL_MACHINE を HKEY_CURRENT_USER に変更すると、正常に動作します。

    RegStr = fReturnRegKeyValue(HKEY_CURRENT_USER, "Software\ThisApp\App", "Activation")
4

1 に答える 1

1

このような問題の考えられる原因の 1 つは、Microsoft が Vista 以降の Windows に追加したレジストリの仮想化です。Windows で UAC (ユーザー アカウント制御) が有効になっている場合、特権のないユーザーは HKEY_LOCAL_MACHINE レジストリ値などのシステム全体の設定を「変更」できますが、それらの変更はそのユーザーに対してのみ「仮想化」され、他のユーザーはそれらを見ることができません。

この場合、1 人のユーザーが、設定を HKEY_LOCAL_MACHINE に保存するアプリケーションを実行した可能性があります。そのユーザーはこれらの設定を取得して通常どおりアプリケーションを実行できますが、別のユーザーはこれらの HKEY_LOCAL_MACHINE 設定を表示することはできません。これらの設定は、それらを作成したユーザーにしか表示されないためです。

于 2013-08-05T23:16:05.990 に答える