如果reg键不存在 - 未处理的异常

时间:2017-05-30 09:17:20

标签: vb.net

我有代码检查注册表是否不存在然后创建它。

奇怪的是,这在我的Windows 7机器上完美运行..如果我在我的Windows 10平板电脑上运行它,它不起作用?

我收到一个未处理的异常错误:

访问注册表项:' HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ EdgeUI'被拒绝。

我的代码:

Dim TabletEdgeSwipe As Object = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Policies\\Microsoft\\Windows\\EdgeUI", True)
If TabletEdgeSwipe Is Nothing Then
    Registry.LocalMachine.CreateSubKey("SOFTWARE\\Policies\\Microsoft\\Windows\\EdgeUI").SetValue("AllowEdgeSwipe", "0", RegistryValueKind.DWord)
End If

1 个答案:

答案 0 :(得分:4)

requestedExecutionLevel问题

这只是应用程序无权访问注册表的这一部分。

您可以更改 app.manifest

如果您看不到app.manifest

  1. 双击( MyProject

  2. 点击(查看Windows设置

  3. 更改此行:

    <requestedExecutionLevel level="asInvoker" uiAccess="false" />
    

    收件人:

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    

    这将强制启动应用程序或要求以管理员

    启动该应用程序

    注意:

    你也可以使用:

    level="highestAvailable"
    

    MSDN州:

      

    应用程序以当前用户可以拥有的最高权限运行   获得。

    这意味着,如果用户具有管理员权限而不是使用当前安全设置运行它,则会启动它在我们的案例中最多可用管理员