当前位置:  开发笔记 > 编程语言 > 正文

在哪里存储程序设置而不是HKEY_LOCAL_MACHINE?

如何解决《在哪里存储程序设置而不是HKEY_LOCAL_MACHINE?》经验,为你挑选了2个好方法。

我有一些当前存储在HKEY_LOCAL_MACHINE中的程序设置.由于Vista和锁定用户,一些用户没有HKEY_LOCAL_MACHINE的权限,这些值也不属于HKEY_LOCAL_USER(对于所有用户必须是相同的),存储这些值的最佳替代位置是什么?

大多数设置已存储在数据库中,但在连接到数据库之前,程序需要了解一些设置.理想情况下,我想要一种实现这一点的方法,而无需检查正在运行的操作系统.

这是用Delphi编写的桌面应用程序.



1> Rômulo Cecco..:

你应该把:

HKEY_CURRENT_USER 注册表CSIDL_APPDATACSIDL_LOCAL_APPDATA文件夹下的个人设置(如窗口位置和次要偏好);

重要的应用程序设置(如用​​户不应修改的固定路径)HKEY_LOCAL_MACHINE在注册表或应用程序的文件夹下.在管理员权限可用时,在安装时设置它们;

共享数据(所有用户应读取和写入的数据,如简单数据库)CSIDL_COMMON_APPDATA.

使用SHGetFolderPath查找CSIDL_*文件夹的位置.

根据您的需要,您可能希望同时实施所有三个选项.它没有任何问题.



2> Ulf Lindback..:

可能是注册表中放置它们我不知道的一个好地方,但为什么不在C:\ Documents and Settings\All Users\Application Data\yourApp中添加一个ini文件

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有