2

いくつかのレジストリ キーの読み取り/書き込みを試みる cpp で作成された dll があります。このコードは、Windows XP (32 ビット環境) では問題なく動作しますが、Windows 7 (64 ビット環境) では失敗します。

このアプリケーションがアクセスするレジストリ キーは、共有レジストリ キーです。これらのキーは、32 ビット レジストリ キャッシュ (wow32 ビット) または 64 ビット レジストリ キャッシュの一部ではありません。

これに関する貴重な情報を提供してください。

前もって感謝します。

ジット

4

3 に答える 3

1

これをチェックしてください: RegQueryValueEx 関数

そしてこれ:レジストリキーのセキュリティとアクセス権

IMO キーを開くために使用する許可設定を確認する必要があります。昇格された特権を必要とする設定を削除するか、アプリを昇格モードで実行してください。

于 2010-06-08T10:22:15.847 に答える
1

「共有」とは、たとえばHKLMの下を意味しますか? 昇格されたアプリケーションのみが、Windows 7 および Vista のアプリケーションに書き込むことができます。これがニュースである場合は、ユーザー アカウント制御または UAC で検索することをお勧めします。

于 2010-04-22T20:19:08.900 に答える
0

RegQueryValueEx の最後のパラメーターである "lpcbData" の値を初期化する必要があるかもしれません。

于 2010-06-08T09:10:42.177 に答える