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 回答