访问注册表项会引发异常?
Posted
技术标签:
【中文标题】访问注册表项会引发异常?【英文标题】:accessing a registry key throws an exception? 【发布时间】:2012-11-21 18:23:20 【问题描述】:我正在尝试访问寡妇 8 注册表中以下路径中的键:
软件\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
我正在使用以下代码来做到这一点:
using (RegistryKey baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default))
using (RegistryKey key = baseKey.OpenSubKey(startUpRegistryPath))
但这会引发异常:
SecurityException: 不允许请求的注册表访问。
如何使用 C# 代码获得对该路径的写入权限?
谢谢!
【问题讨论】:
你没有写权限还是没有权限? 【参考方案1】:可能需要Application Manifest 请求管理员权限,以便您的应用程序可以访问注册表。
<requestedExecutionLevel level="requireAdministrator" uiAccess="true"/>
UAC 禁止应用程序对被视为“有害”的特定区域拥有权利;其中包括注册表和 Program Files/Windows 目录。
【讨论】:
谢谢,我确实尝试过...但是当我启动 exe 时,它总是提示说“请求的操作需要提升” @user1202434:会的,除非你禁用了 UAC。该警告旨在保护最终用户。如果你想在开发中短路,请在管理员权限下运行Visual Studio,这样在调试的时候,你就不会再遇到麻烦了。 只需右键单击应用程序并选择以管理员身份运行,如果仍然抛出异常,则清单文件无济于事。以上是关于访问注册表项会引发异常?的主要内容,如果未能解决你的问题,请参考以下文章