Shgetnown Folderpath vs.注册表的读取系统文件夹路径



我是Windows系统编程的新手。在我的项目中,我需要阅读32/64位进程的注册"程序文件"位置。

我终于有两个选择:要么使用SHGetKnownFolderPath或从系统注册表中读取这些文件夹的值,但是我有一些安全问题。有人可以在安全性和可靠性方面比较这两种方法。

您不会从注册表中的无证随机位置读取内容,因为这只是Windows 当前存储该数据的实现细节:它可能很容易发生那:

  • 在Windows的某些下一个版本中,他们将决定需要存储此类数据;
  • 您发现的数据仅在某些配置(安装了某些特定的IE版本,机器尚未加入Active Directory),没有文件夹重定向,...) - 但是您不知道,没有保证您任何东西的文档。

正确的方法是使用OS提供的记录的界面,Microsoft明确地承诺兼容(他们保证今天有效的公共功能 - 如果根据该功能使用)文档 - 明天将继续工作)。


tl; dr :如果要在Vista之前与Windows版本保持兼容,请使用SHGetKnownFolderPath-或SHGetFolderPath,这通常是一件好事,鉴于Windows XP似乎仍然比所有OS X版本组合都具有更多的市场份额。

相关内容

  • 没有找到相关文章

最新更新