#c# #internet-explorer #windows-mobile #compact-framework #browser-history
#c# #internet-explorer #windows-mobile #compact-framework #браузер-история
Вопрос:
Как мне получить историю Internet Explorer в Windows Mobile 5.0 на C #, работающем на Compact Framework 1.0? Мне нужно только получить самый последний посещенный URL. Даже если вы просто знаете, где это хранится, я мог бы выяснить остальное оттуда.
Ответ №1:
Обычно она должна храниться в ‘ windows profiles guest History *’
Однако, возможно, было бы лучше удалить это местоположение из реестра с помощью:
using Microsoft.Win32;
RegistryKey foldersKey = Registry.CurrentUser.OpenSubKey(@"SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders");
string historyFolder = foldersKey.GetValue("History");
Комментарии:
1. Когда я смотрю в это место в реестре, он показывает этот путь к файлу. Фактические данные истории, похоже, находятся в «/ Windows / Profiles / guest / History / История. IE5/index.dat». Но когда я пытаюсь открыть или скопировать этот файл в C #, я получаю общее исключение IOException. Это несмотря на то, что я убедился, что IE был полностью закрыт перед запуском этого кода.
2. Это код, который я использовал, который выдает мне общее исключение IOException с сообщением «IOException»: File. OpenRead(«Windows / Профили / гость / История/History. IE5/index.dat»);
3. Я попытался запустить это на CF 3.5, чтобы посмотреть, получу ли я лучшее сообщение об ошибке. В нем говорилось, что файл использовался другим процессом. Я попытался перезагрузить устройство, и теперь я могу читать из файла. Я посмотрю, смогу ли я закрыть другие процессы изнутри моего кода, чтобы я мог читать из этого файла, когда мне нужно.
4. Не уверен, поможет ли это, но, возможно, стоит изучить: coding.infoconex.com/post/2009/04 /…
5. Я не смог определить формат файла. Я нашел лучший способ выполнить то, что я пытался сделать, чем изучение истории. Я отмечу это как ответ, даже если он неполный относительно того, как вы на самом деле получите историю из файла.
Ответ №2:
Если он хранится в реестре (я не утверждаю, что это так, но это разумное место для исследования), то найти его легко с помощью следующих шагов:
- Подключите удаленный редактор реестра к устройству / эмулятору
- Экспортируйте весь реестр в файл на вашем компьютере
- Используйте браузер на устройстве для создания дополнительной истории
- Снова экспортируйте весь реестр в файл на вашем компьютере
- Используйте свою любимую программу DIFF для сравнения двух дампов реестра
Если история хранится в реестре, она будет отображаться быстро, поскольку изменения происходят только между файлами.