C++ для Symbian S60: работа с реестром

В операционных системах Windows, как в ПК версии, так и в мобильной, существует системный реестр. В нём ОС и приложения хранят настройки. На Series 60 существует некоторый аналог реестра. В нем нет привычной для пользователя Windows папочной структуры, вместо этого каждому разделу присвоены числовые значения.

S60 1st и 1nd (Symbian 6,7,8)

Реестр на старых ОС иногда еще называют Shared data. Откроем папку C:\system\shareddata\ и увидим в ней файлы с расширением ini. Это и есть системный реестр Series 60. Пользователь может просмотреть файлы реестра - это простые текстовые файлы в кодировке UNICODE, они открываются обычным текстовым редактором.

 

Этот файл отвечает за работу будильника. Читатель может самостоятельно поэкспериментировать. Выставляем будильник, смотрим файл C:\system\shareddata\1000599E.ini - дата напоминания в нем (строка под названием AlarmTime) меняется. После того, как будильник сработает и нажмете "Повтор" – изменяется дата и ключ Snooze.

Внимание! Редактировать файлы реестра крайне не рекомендуется!

S60 3rd (Symbian 9)

На Symbian 9 организация реестра полностью переработана и называется Central repository. Во-первых, практически все файлы реестра оказались в недоступных для пользователя папках, которые в свою очередь спрятаны в глубине папки private. Кроме того, информация в файлах записана в бинарном формате, а потому просмотр её без специальных знаний ничего не даст.

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

Третье существенное отличие состоит в новой системе безопасности. Как известно, Symbian 9 славится сложной системой безопасности, которую мало любят опытные пользователи, а в особенности программисты. Теперь доступ к разделам реестра основан на Capabilities. В результате, на S60 3rd менять ключи из некоторых разделов могут только программы, подписанные сертификатом производителя телефонов.

Специализированных утилит для просмотра реестра нет, в официальной документации для программистов описан только раздел реестра 0x101F8798, который позволяет работать с настройками профилей телефона.

Но все же особо любознательные посмотреть реестр могут. Когда мне это было нужно, я написал простенькую утилиту Dump Repository, которая сохраняет содержимое реестра в виде набора текстовых файлов в папке C:\Repository. Достаточно просто запустить программу и подождать несколько секунд, пока она закончит работу и выгрузится.

Программу необходимо подписать.

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

Для любителей экспериментов:

1. Запускаем программу, дожидаемся завершения.

2. Перемещаем в произвольную папку файл С:\Repository\102071f1.txt – он понадобится для сравнения.

3. Настраиваем или меняем настройки почтового ящика в программе "Сообщения".

4. Опять запускаем DumpRepository.

5. Сравниваем теперь файл С:\Repository\102071f1.txt с первоначальным и анализируем изменения.

6. Бежим к знакомому программисту с криком: "Идея на миллион! Меняем программно Central Repository, в разделе 0x102071f1 ключ X, делаем красивый интерфейс – и продажи обеспечены!"






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.