Поддержка операций с реестром в MFC. Регистрация типа документа

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

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

  • Параметры, позволяющие диспетчеру файлов Windows связать тип документа с приложением.
    Это дает возможность пользователю автоматически запускать приложение двойным щелчком значка документа.
  • Путь к профилю пользователя. Профиль служит для хранения в системном реестре пользовательских
    параметров между сеансами работы приложения.

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

   
Регистрируя в диспетчере файлов 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.

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий