我正在创建一个 VB.NET 应用程序,我希望该应用程序能够拥有几个注册表项的所有权。
似乎没有一种简单的方法可以做到这一点。有人向我建议了一个需要大约 300 行代码的复杂过程。在我看来,这对于概念上很容易的任务来说太费力了。
那么,是否有一种直接的方法来更改或取得注册表项的所有权?
最佳答案
假设当前用户拥有取得所有权的必要权利:
- 获取
RegistryKey
键的实例。 - 调用
GetAccessControl()
获取 ACL。 - 调用
SetOwner
在 ACL 上传递必要的用户身份。 - 调用
SetAccessControl
替换注册表项上的 ACL。
(我怀疑这 300 行代码是在 .NET 框架支持读取和操作 ACL 之前使用 P/Invoke。)
关于.net - 在 VB.NET 中获取注册表项所有权的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856410/