如果没有管理员权限,您可以获得哪些注册表访问权限?

2024-01-15

我知道我们不应该再使用注册表来存储应用程序数据,但是在更新旧版应用程序(并希望进行最少的更改)时,非管理员可以使用哪些注册表配置单元?

我可以访问所有HKEY_CURRENT_USER(应用程序当前访问HKEY_LOCAL_MACHINE)没有管理员权限?


一般来说,非管理员用户对注册表具有以下访问权限:

读/写:

  • HKEY_CURRENT_USER

只读:

  • HKEY_LOCAL_MACHINE
  • HKEY_CLASSES_ROOT(这只是一个link to HKEY_LOCAL_MACHINE\Software\Classes)

可以逐个密钥更改其中一些权限,但这种情况极为罕见。您不必担心这一点。

出于您的目的,您的应用程序应该将设置和配置写入HKEY_CURRENT_USER。规范地点位于以下任意位置

HKEY_CURRENT_USER\Software\YourCompany\YourProduct\

您可能会将全局(对于所有用户)的设置保存在HKEY_LOCAL_MACHINE。需要这样做的情况非常罕见,您应该避免这样做。问题是任何用户都可以“读取”这些内容,但只有管理员(或者通过扩展,您的设置/安装程序)可以set them.

其他常见的麻烦来源:您的应用程序不应写入任何内容Program files or the Windows目录。如果您需要写入文件,有多种选择;描述所有这些将是一个更长的讨论。所有选项最终都会写入子文件夹或下的另一个文件夹%USERPROFILE%对于有问题的用户。

最后,您的应用程序应该远离HKEY_CURRENT_CONFIG。该配置单元保存了 99.9999% 的应用程序不需要查看的硬件配置、服务配置和其他项目(例如,它保存了当前的即插即用设备列表)。如果您需要从那里获得任何信息,大部分信息都可以通过其他地方支持的 API 获得。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果没有管理员权限,您可以获得哪些注册表访问权限? 的相关文章

随机推荐

  • 没有为类型定义序列化程序:System.Windows.Media.Media3D.Point3D

    我正在尝试使用 protobuf 网络序列化一些数据 在序列化过程中 我收到一条错误 指出没有为 Point3D 类型定义序列化 我发现一个类似的问题 但仍然无法实施和解决 链接如下 没有为类型定义序列化器 System Drawing C
  • 如何使用python将流上传到AWS s3

    我想创建一个从 S3 获取 zip 文件 可能包含 csv 文件列表 的 lambda 将其解压缩并上传回 s3 由于 lambda 受到内存 磁盘大小的限制 我必须将其从 s3 流式传输并返回到其中 我使用 python boto3 请参
  • 具有分段文件上传功能的 Spring REST API 不适用于可选参数

    我正在使用Spring框架 但不太熟悉它 我正在编写一个 REST API 特别是一个处理文件上传的 POST 方法 其中文件是可选的 我尝试简化该方法 但仍然存在问题 这是我所拥有的 RequestMapping method Reque
  • 如何将 javascript 转换为 LLVM IR?

    是否有 JavaScript 的 LLVM 后端 如果没有 其他将动态语言 类似于 javascript 转换为 LLVM IR 的工具也可以 因为我正在编写一个动态语言编译器 这样的工具可以帮助我找出一些功能是如何实现的 FTL JIT
  • R - “princomp”只能与比变量更多的单位一起使用

    我正在使用 R 软件 R Commander 对我的数据进行聚类 我的数据有一个较小的子集 包含 200 行和大约 800 列 尝试 kmeans 聚类并在图表上绘制时出现以下错误 princomp 只能与比变量更多的单位一起使用 然后我创
  • C# 中单元测试的生命周期是怎样的

    完整事件的顺序是什么MSTest在 Visual Studio 中用 C 运行单元测试 Ctrl R A 到目前为止我的想法是 1 跑步 AssemblyInitialize 2 随机运行 ClassInitialize 3 运行班级 Te
  • xpath 轴中的命名空间是什么

    我正在研究 XPath 轴 我能够理解以下所有轴 祖先 祖先或自我 属性 孩子 后裔 后代或自己 下列的 以下兄弟姐妹 父母 前 前兄弟 自己 我唯一无法理解的轴是 命名空间 谁能给我一个很好的例子并理解 命名空间 的实际作用 例子 Ope
  • 尝试更新 Twitter 状态时期望失败

    我似乎无法弄清楚这一点 无论我做什么 我都会收到 417 Expectation failed 错误 我看过的所有地方都说我需要删除 HttpWebRequest 的 Expect 标头 设置静态属性ServicePointManager
  • 通过我的程序路由所有数据包?

    我想构建一个通过我的应用程序路由所有网络流量 不仅仅是 HTTP 的应用程序 基本上 我想要的是给予我的应用程序的所有流量 它们永远不应该到达实际目标 我的应用程序应该处理这个 然后将其转发到服务器 输入也是如此 只是相反 服务器 gt 应
  • 如何根据 Google 表格中的单元格内容发送短信

    这是我上一个问题的后续如何循环 onEdit 函数从 Google 表格中的多行发送电子邮件 https stackoverflow com questions 56533837 how to loop an onedit function
  • PHP cURL 超时被忽略

    Using curl setopt 我已经设定CURLOPT CONNECTTIMEOUT MS到 1000 1 秒 并已设置另一个脚本休眠 5 秒 然后响应 200 OK 使用sleep 我称之为测试目的 我的脚本始终等待响应 即使它应该
  • 私有方法参数

    我有这个带有可选参数的方法 public static Test String connection Int32 retryInfiniteLoopGuard 0 有没有办法以某种方式标记retryInfiniteLoopGuard as
  • Sharepoint 2010 沙盒解决方案错误

    我对 Sharepoint Server 2010 沙箱解决方案有疑问 当我写作时 SPSite site new SPSite http win 5g8rm9qpjrp SPWeb web site OpenWeb 这两行代码 我有这样的
  • Erlang Linux 信号处理

    是否可以通过 Erlang 中的处理程序捕获 Linux 信号 例如 SIGUSR1 无需求助于 C 语言编写的驱动程序 不是真正的答案 2001年有人问 有没有人有unix的例子 Erlang 中的信号处理 我会 我喜欢制作一个负载均衡器
  • 从 TRY CATCH 内的单个语句捕获多个错误消息

    我正在对多个列和表运行一批语句 并希望检索有关发生的错误的信息 该语句是类型更改 varchar 到 nvarchar 当它失败时 它似乎返回 2 个错误 消息 5074 级别 16 状态 1 第 1 行 对象 DF XXX YYY 为 取
  • JQGrid 日期格式

    我正在使用 jQuery JQGrid 插件版本 3 8 2 并且在尝试弄清楚如何格式化日期 时间以进行显示时遇到问题 日期 时间采用 ISO 长格式 即 2011 02 16T14 46 43Z 我希望它以 mm dd yy H m s
  • 如何使用可序列化将类对象存储到内部内存存储中?

    我需要将此对象存储到手机的内部存储器中 并且我有
  • 尝试使用 jq 搜索数组时,数组和字符串无法进行包含检查错误

    我有一个 json 文件 大致如下所示 default name Joe Bloggs email email protected cdn cgi l email protection groups recipients name Jane
  • Codeigniter Active Record HAVING / WHERE db.field = db.field

    有人可以告诉我 这是否可以通过活动记录实现 以及如何实现 this gt db gt select this gt db gt from table1 this gt db gt join table2 table1 id table2 f
  • 如果没有管理员权限,您可以获得哪些注册表访问权限?

    我知道我们不应该再使用注册表来存储应用程序数据 但是在更新旧版应用程序 并希望进行最少的更改 时 非管理员可以使用哪些注册表配置单元 我可以访问所有HKEY CURRENT USER 应用程序当前访问HKEY LOCAL MACHINE 没