Управление записями Google Chrome из внешней программы (и уведомление Chrome)?

Есть ли какой-либо документированный способ для внешней программы управлять закладками Google Chrome?

Закладки хранятся в файле "Закладки" в каталоге данных пользователя\по умолчанию, выглядит как JSon или что-то для меня (это не важно сейчас.)

Однако, можно ли каким-либо образом сообщить Chrome, что файл был изменен?

Примечание. Это для Windows, и я ищу способ программно сделать Chrome осведомленным о моих изменениях.

Я попробовал следующее:

  • Отредактируйте файл вручную
  • Перезапустить Chrome

Изменения присутствовали, но пока я не перезапустил Chrome, Chrome не знал о моих изменениях, и я уверен, что если я отредактирую закладки в Chrome перед перезагрузкой, внешние изменения будут потеряны.

Итак, есть ли способ сделать это? Или мне нужно просто сообщить пользователю, что, к сожалению, мне нужно закрыть его установку Chrome, отредактировать файл закладок и перезапустить Chrome?

В конечном итоге код будет написан на С#, но если вы не знаете/не знаете код, который делает это, то путь к этому должен быть агностиком языка/времени выполнения.

Также обратите внимание, что мой текущий список вещей, который я хочу автоматизировать, следующие:

  • Создайте папку для некоторых определенных закладок
  • Удалить существующие закладки в этой папке
  • Добавить новые закладки в эту папку

Цель этой программы - автоматизировать настройку локальных копий создаваемого веб-приложения, где поддержка/тестеры могут просто запускать программу, выбирать версию программы для настройки и к какой базе данных ее подключать, и то программа автоматизирует все. Я бы хотел, чтобы эта программа добавила легкий доступ к приложениям.

Ответы

Ответ 1

%LOCALAPPDATA%\Google\Chrome\User Data\Default\Bookmarks файл защищен контрольной суммой для записи ошибок. Google Chrome делает резервную копию этого файла как Bookmarks.bak. Поэтому, если файл Bookmarks поврежден, Google Chome использует файл резервной копии для восстановления закладок.

Работа контрольной суммы немного сложна. Вы можете посмотреть на него источник (поскольку проект Chromium является открытым исходным кодом). Кажется, что Chrome делает расчет MD5 для каждой закладки:

  • id
  • title
  • folder
  • url

Итак, вы можете посмотреть этот исходный код для дальнейшего изучения.

Но я не рекомендую это делать. Google может изменить этот формат без каких-либо уведомлений, и ваше программное обеспечение испытывает проблемы несовместимости. Было бы лучше написать расширение Google Chrome и взаимодействовать с вашим настольным программным обеспечением.