Шаг 93.
Среда программирования Visual C++.
Поддержка операций с реестром в MFC. Регистрация типа документа

    На этом шаге мы рассмотрим правила регистрации типа документа в реестре.

    Приложение архитектуры "документ/вид", созданное мастером АррWizard, размещает в системном реестре следующие данные.

    Ниже мы покажем, как создавать эти параметры и обращаться к ним.

Регистрация типа документа

    Регистрируя в диспетчере файлов Windows новый тип документа приложения, AppWizard добавляет в функцию InitInstance() объекта приложения следующую строку:

    RegisterShellFileTypes(TRUE);

    CWinApp::RegisterShellFileTypes() просматривает список шаблонов документов данного приложения и для каждого из них добавляет в HKEY_CLASSES_ROOT параметры связи типа файла. RegisterShellFileTypes() также добавляет параметр, задающий для данного типа значок по умолчанию.

    Поскольку оболочка "узнает" тип документа по расширению, не забудьте определить его в окне 4 мастера AppWizard в диалоговом окне Advanced Options. Если Вы не сделаете этого, RegisterShellFileTypes() вызываться не будет.

    Вызванная с параметром TRUE, RegisterShellFileTypes() добавит параметры для команд оболочки Print и Print To, что позволит пользователю печатать файлы непосредственно из нее или просто перетаскивая файл на значок принтера.

    AppWizard создает файл реестра (с расширением *.reg), который Вы можете применять в процессе установки приложения для внесения всех необходимых изменений в системный реестр. Этот файл очень удобен, потому что при удалении программы он пригодится для удаления всех параметров, внесенных в реестр при установке - а это позволяет более эффективно управлять приложениями на пользовательской машине. Если Вы не укажете расширение для своего типа документов, REG-файл создан не будет.


    Замечание. Если Ваше приложение является сервером составных документов (Compound Document Server), то мастер добавит в функцию InitInstance() дополнительный код, создающий в системном реестре параметры поддержки OLE.

    На следующем шаге мы рассмотрим определение профиля пользователя.




Предыдущий шаг Содержание Следующий шаг