【问题标题】:Where should a IE browser helper object store its data files?IE 浏览器助手对象应该在哪里存储它的数据文件?
【发布时间】:2011-08-06 04:03:58
【问题描述】:

我正在为需要在硬盘上存储一些数据的 Internet Explorer 编写浏览器帮助对象。 有没有约定,在哪里存储这些文件?或者如果没有 - 我对哪个目录(临时文件夹除外)有写权限?

【问题讨论】:

    标签: internet-explorer winapi bho


    【解决方案1】:

    通常应用程序将状态存储在CSIDL_LOCAL_APPDATA or CSIDL_APPDATA,但low IL 进程(如Protected IE)无法写入这些目录,对于低IL,您可以使用FOLDERID_LocalAppDataLow。

    在 IE 进程中运行时,您可以使用这些 API 的特殊 IE 版本:IEGetWriteableFolderPath 和 IEGetWriteableHKCU

    【讨论】:

    • IEGetWriteableFolderPath(FOLDERID_LocalAppDataLow,&path) 确实返回 E_ACCESSDENIED。是否有另一个文件夹我应该具有写入权限?
    • @Heinzi:你是在受保护模式的IE进程中吗?使用 IEIsProtectedModeProcess()
    • 是的,IEIsProtectedModeProcess 将其参数设置为 true。我在全新安装的 Windows 7 上运行 IE 8(没有对 IE 设置进行任何更改)
    【解决方案2】:

    在IEGetWritableFolderPath() 返回的路径下为您的应用创建一个子目录。

    【讨论】:

      猜你喜欢
      • 2017-05-11
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多