我正在使用应用程序范围的设置来存储在运行时无法更改的设置。我正在使用用户范围的设置来让个人用户配置他们的偏好。但是,我应该如何存储/控制在运行时可由应用程序范围内的管理员级用户修改的设置(即,它们会影响所有 PC 用户)?我想管理员可以手动修改应用程序范围的设置,但这并不可取。
谢谢!
我正在使用应用程序范围的设置来存储在运行时无法更改的设置。我正在使用用户范围的设置来让个人用户配置他们的偏好。但是,我应该如何存储/控制在运行时可由应用程序范围内的管理员级用户修改的设置(即,它们会影响所有 PC 用户)?我想管理员可以手动修改应用程序范围的设置,但这并不可取。
谢谢!
如果您打算将这些设置存储在计算机本身上,请考虑使用通用 appdata文件夹来存储跨用户设置。所有用户均可访问此文件夹。您需要自己存储/读取这些设置,正如其他人提到的,您可以为此使用 xml 序列化程序。
不幸的是,在这种情况下,您可以将其设置为仅限管理员访问 - 任何用户都可以写入此文件夹(这正是这里的目的 - 用于可以更改的常用设置)。如果“管理设置”只是按照惯例,或者设置位置的模糊性就足够了,这可能就足够了。
我的建议是将这些可修改的设置存储在数据库中的表中,当应用程序启动时获取该表,以便轻松修改各种值而无需接触代码文件。这类似于用户配置数据,应该存储在可以轻松访问并处理更改而不会破坏事物或触发重新编译的地方。但是,这确实假设应用程序具有某种形式的 DB。
您可能必须自己处理这个问题。创建一个序列化为 XML 或保存在注册表中的设置类(或您存储设置的首选方法)和一个选项窗口。适当时保存并加载设置。
需要注意的是用户范围的设置仅适用于登录用户。据我所知,至少没有一些花哨的东西,您将无法轻松编辑其他用户的设置。