История Windows Mobile Internet Explorer

#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 для сравнения двух дампов реестра

Если история хранится в реестре, она будет отображаться быстро, поскольку изменения происходят только между файлами.