Как программно определить местоположение, в котором Flash хранит локальные общие объекты
Я пишу несколько автоматических приемочных тестов для флэш-фильма (вождение фильма с помощью iMacros).
Мне нужно "сбрасывать" тестовую среду перед каждым запуском теста, очищая настройки, которые флэш хранит в локальных общих объектах.
Я могу сделать это вручную, удалив файлы в:
C: \ Documents and Settings {имя пользователя}\ Данные приложения \Macromedia\Flash Player#SharedObjects\FQSTGCV7\{site-url}
Очевидно, я хочу автоматизировать этот шаг удаления; но мне интересно, как определить вышеуказанный путь не машинным способом.
В.NET,
"C: \ Documents and Settings {имя пользователя}\Application Data\Macromedia\Flash Player#SharedObjects\" явно
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
@"Macromedia\Flash Player\#SharedObjects")
Как мне выяснить, что "FQSTGCV7" будет на другой машине? Есть ли переменная окружения? Есть только один каталог ниже #SharedObjects\?
Спасибо
2 ответа
Я не уверен, как определяется эта серия символов, однако тот факт, что она всегда заканчивается URL-адресом сайта, заставляет меня полагать, что простое совпадение регулярных выражений и строк должно выполнить эту работу за вас. Просто найдите файл, который заканчивается в URL вашего сайта.
Кроме того, можно сделать флэш-фильм сбрасывающим свои собственные данные, просто отправив пустые данные в LSO. Кроме того, зайдя в меню настроек проигрывателя Flash, вы можете сбросить все данные, набрав необходимый объем пространства для LSO до 0, закрыв настройки, а затем снова открыв настройки и вернув их к значениям по умолчанию. 100k. Ни один из них не может быть применим в вашем случае, но они пригодятся.
Стремясь найти ответ на тот же вопрос: "Как мне выяснить, что"FQSTGCV7"будет на другой машине"?
Примечание. Если вы удалите эту папку и перезагрузите ее, появится новый "случайный код".
Я называю это ключом FlashRuntime.
Любая идея выяснить это значение будет приветствоваться.
Я проверил реестр и не смог найти его там.
В худшем случае, я мог бы создать LSO в режиме реального времени и посмотреть, для чего он был записан.