FireBreath Запись в AppData LocalLow из Internet Explorer

У меня есть источник плагина FireBreath, который кто-то написал, и я пытаюсь сделать его совместимым с Internet Explorer. В этом плагине .flv видео загружается и затем выполняется FFMPEG в Windows CMD.EXE для преобразования .flv в другой медиа формат. Команда запускается из CreateProcess(...),

Моя проблема в том, что CreateProcess Команда всегда возвращает код ошибки 5, который, я полагаю, является Отказано в доступе. Команда работает в командной строке (FFMPEG выполняет преобразование правильно), но не из плагина.

Обратите внимание, что я получил путь AppData с:

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

Есть ли где-нибудь ключ реестра, который нужно добавить, чтобы "инициализировать" этот путь?

2 ответа

Решение

Предполагая, что это не работает на Chrome/Firefox также.

  1. Если вы пытаетесь запустить свой собственный исполняемый файл - укажите абсолютный путь.
  2. Попробуйте загрузить DLL в той же папке, используя LoadLibrary - Я думаю, что это может дать лучшую информацию о том, является ли путь правильным.

Если IE - единственный браузер, с которым у вас есть проблемы, прочитайте раздел "Общие сведения и работа в защищенном режиме Internet Explorer".

Смотрите также Советы и хитрости FireBreath.

getLocalAppDataPath просто возвращает путь к области localLow в вашем профиле пользователя; в этом случае это, скорее всего, даст вам:

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

Это не гарантирует, что каталог был создан или что-то в этом роде. Если вы хотите сделать это, я бы порекомендовал использовать boost:: filesystem, так как тогда это будет кроссплатформенным, но вы действительно можете использовать что угодно.

Как узнать, существует ли папка и как ее создать? Есть и другие хорошие идеи, в основном использующие системные вызовы API (только для Windows).

Другие вопросы по тегам