如何访问 UWP 应用程序中的注册表项?
How to access registry key in a UWP app?
我想通过 UWP 应用程序访问 windows10 注册表项。
密钥为:\HKEY_LOCAL_MACHINE\SOFTWARE\MyCompanyName\MyName
我找不到任何函数调用来完成它。
请指出我该怎么做?
谢谢,
如果您的应用是纯 UWP 应用,这是不可能的。 UWP 应用程序的构建目标是轻量级并尽可能避免注册表,因此您的应用程序根本无法访问注册表(尽管有些注册表项是在应用程序安装时由系统创建的,例如 URI 协议注册等。 ).
如果您确实需要访问注册表并且不需要在 Microsoft Store 上发布您的应用程序,您可以实施 Brokered Windows Runtime Component。这允许您从 UWP 调用 full-trust .NET Framework 库,而 UWP 又可以访问注册表。但是,使用 Brokered Components 的应用将无法通过认证。
最后,如果您的应用是 UWP 桌面桥应用,您可以访问注册表 - 请参阅 documentation。
您可以从从 UWP 应用程序启动的 Win32
runFullTrust
后台进程读取注册表值,并且可以从 "elevated" 在 HKEY_LOCAL_MACHINE
配置单元中写入值从该 runFullTrust
进程启动的 Win32 应用程序。
这些技术非常强大,在从 Windows 商店部署的 UWP 应用程序中使用它们需要 Microsoft 的特殊审查和许可。这些技术由 OEM 使用,但不仅限于他们。如果你有充分的理由并且能够解释清楚,你很可能会获得批准。
我已经写了一个示例和文章来准确说明如何执行此操作,您可能会找到它 here。
我想通过 UWP 应用程序访问 windows10 注册表项。 密钥为:\HKEY_LOCAL_MACHINE\SOFTWARE\MyCompanyName\MyName 我找不到任何函数调用来完成它。 请指出我该怎么做? 谢谢,
如果您的应用是纯 UWP 应用,这是不可能的。 UWP 应用程序的构建目标是轻量级并尽可能避免注册表,因此您的应用程序根本无法访问注册表(尽管有些注册表项是在应用程序安装时由系统创建的,例如 URI 协议注册等。 ).
如果您确实需要访问注册表并且不需要在 Microsoft Store 上发布您的应用程序,您可以实施 Brokered Windows Runtime Component。这允许您从 UWP 调用 full-trust .NET Framework 库,而 UWP 又可以访问注册表。但是,使用 Brokered Components 的应用将无法通过认证。
最后,如果您的应用是 UWP 桌面桥应用,您可以访问注册表 - 请参阅 documentation。
您可以从从 UWP 应用程序启动的 Win32
runFullTrust
后台进程读取注册表值,并且可以从 "elevated" 在 HKEY_LOCAL_MACHINE
配置单元中写入值从该 runFullTrust
进程启动的 Win32 应用程序。
这些技术非常强大,在从 Windows 商店部署的 UWP 应用程序中使用它们需要 Microsoft 的特殊审查和许可。这些技术由 OEM 使用,但不仅限于他们。如果你有充分的理由并且能够解释清楚,你很可能会获得批准。
我已经写了一个示例和文章来准确说明如何执行此操作,您可能会找到它 here。