1

Windows 8 アプリからレジストリを読み取ることができるかどうかを確認しようとしています。通常は Registry.GetValue() を使用できますが、Win 8 アプリの作成時にはそのオプションがありません。掘り下げてみると、Registry.GetValue() が Microsoft.Win32 名前空間に属していることがわかります。この名前空間は、Win 8 アプリの参照プロパティ タブでは利用できません。

グーグルで調べましたが、レジストリを読み取れないという具体的な証拠は見つかりませんでした。Win 8 アプリをサンドボックス化しているため、これができないのではないかと心配しています。

4

1 に答える 1

4

本当に必要な場合は、相互運用サービスを使用してそれを行うことができます。

したがって、必要な WinAPI 関数をインポートします (署名はPInvoke.netから取得できます)。

[DllImport("advapi32.dll", CharSet = CharSet.Unicode)]
public static extern int RegOpenKeyEx(UIntPtr hKey, string lpSubKey,
      uint ulOptions, int samDesired, out UIntPtr phkResult);

そして、それらの周りに独自のラッパーを作成します。

しかし、私の知る限り、それは許可されておらず、アプリは認定に合格しません。

于 2013-06-11T18:24:07.103 に答える