2017-04-14 87 views
0

当我使用以下代码 My.Computer.Registry.LocalMachine.OpenSubKey(“SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run”,True).SetValue(Application.ProductName,Application .ExecutablePath)尝试添加注册表项时未处理的异常

要添加一个注册表项以使我的程序自动启动,它适用于我的系统,但每个我发送给它的用户都会收到“未处理的异常”消息,表明访问被拒绝。我想知道是否有解决方案。谢谢

+0

以下是错误消息,原来它不是”拒绝访问。 https://i.gyazo.com/thumb/1200/_53ca184381424e0a67aceec700838eae-png.jpg –

+3

啧啧,如果只有一种方法可以获得有关异常的一些“细节”。 – jmcilhinney

+0

你应该有一个正确的路径:'HKEY_LOCAL_MACHINE'或'HKEY_CURRENT_USER'应该在前面 – Mederic

回答

1

你得到“访问被拒绝”,因为如果你想要写入HKEY_LOCAL_MACHINE密钥,你需要以管理权限运行你的应用程序。

您可以强制你的应用程序只与运行,因此总是通过执行以下步骤要求,管理权限:

  1. 右键单击在Visual Studio的Solution Explorer窗口项目,然后按Properties

  2. 请确保您位于Application选项卡上,然后按下表示View Windows Settings的按钮。

  3. 在该编辑器中打开找到以下的app.manifest文件:

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

    ,取而代之的是:

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

谢谢你们的帮助 –