FireBreath从Internet Explorer写入AppData LocalLow

时间:2012-10-04 15:38:46

标签: internet-explorer npapi firebreath userappdatapath

我有一个FireBreath插件源,有人写道,我试图与Internet Explorer兼容。在此插件中,下载.flv视频,然后在Windows CMD.EXE中执行FFMPEG,以将.flv转换为另一种媒体格式。该命令从CreateProcess(...)运行。

我的问题是CreateProcess命令总是返回错误代码5,我想这是拒绝访问。该命令适用于命令行(FFMPEG正确进行转换),但不适用于插件。

注意,我已经获得了AppData路径:

string appDataPath = FB::System::getLocalAppDataPath("My Company Name LLC")

是否有某个注册表项必须添加到“初始化”此路径?

2 个答案:

答案 0 :(得分:2)

假设它在Chrome / Firefox上也不起作用。

  1. 如果您尝试运行自己的可执行文件 - 请指定绝对路径。
  2. 尝试使用LoadLibrary在同一文件夹中加载DLL - 我认为这可以提供有关路径是否正确的更好信息。
  3. 如果IE是您遇到问题的唯一浏览器,请阅读Understanding and Working in Protected Mode Internet Explorer

    另见FireBreath Tips and Tricks

答案 1 :(得分:1)

getLocalAppDataPath只返回用户配置文件中localLow区域的路径;在这种情况下,它很可能会给你:

C:\Users\YourUser\AppData\LocalLow\My Company Name LLC

它不能确保已创建目录或类似的任何内容。如果你想这样做我会推荐using boost::filesystem,因为那样会跨平台,但你真的可以使用任何东西。

How to find out if a folder exists and how to create a folder?主要使用系统API调用(仅限Windows)。