Пример: Comaddin.exe Office 2000 надстройки COM В Visual C++

Переводы статьи Переводы статьи
Код статьи: 230689 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Comaddin.exe — это самораскрывающийся исполняемый файл, демонстрирующий здания Microsoft Office 2000 или Office XP модели компонентных объектов (COM) надстройки с помощью Visual C++. Надстройка COM — это внутрипроцессный сервер COM, специально разработаны для выполнения в контексте приложений Office 2000 или Office XP. Надстройки COM предоставляют гибкие, эффективные и универсальный метод расширения в среде Microsoft Office.

Надстройки COM, построенных с использованием любого языка программирования, можно создавать компоненты COM, например Visual Basic, C/C++, C# и разработчика Microsoft Office 2000 или Office XP Developer edition Microsoft Visual Basic для приложений (VBA).

В этом примере демонстрируется необходимых этапов создания надстройки COM в Visual C++. В этом примере создается основной оболочки надстройки, можно использовать для создания собственной надстройки Microsoft Office.

Дополнительная информация

Следующий файл доступен для загрузки из центра загрузки Майкрософт:
Comaddin.exe
Дата выпуска: 4 января 1999 года.

Для получения дополнительных сведений о том, как загрузить файлы поддержки Майкрософт щелкните следующий номер статьи базы знаний Майкрософт:
119591 Как загрузить файлы поддержки Майкрософт из Интернета
Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует последние версии антивирусного программного обеспечения на дату публикации файла. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение.

Пример сведений О файле

Comaddin.exe извлекает следующие файлы в папке по выбору:
   FileName                    Size
   ----------------------------------------
   
   TestAddin.dsw               541 bytes
   TestAddin.dsp               4.11 KB 
   ComAddin.h                  6.19 KB
   ComAddin.cpp                8.38 KB
   ComAddin.def                205 bytes
   MyAddin.cpp                 10.6 KB
   MyAddinCF.cpp               2.18 KB
   BttnHandler.cpp             6.27 KB

IDTExensibility2

Для COM-объекта быть надстройкой Office он должен поддерживать интерфейс IDTExensibility2 как описано в добавить В конструктор типа библиотеки Microsoft (Msaddndr.dll). Этот интерфейс был объявлен для вас в ComAddin.h без импорта не требуется. Все надстройки COM наследуют этот интерфейс и должны применять каждый из пяти его методов.
  • OnConnection
  • OnDisconnection
  • OnAddInsUpdate
  • OnStartupComplete
  • OnBeginShutdown
Когда надстройка COM сначала загружается, вызов QueryInterface составляют интерфейс IDTExtensibility2. Если этот вызов не выполняется, надстройка выгружается. После успешного вызова, ведущее приложение будет использоваться ссылка, возвращается уведомление изменений, внесенных в состояние надстройки. Описание каждого метода выглядит следующим образом.

OnConnection

Событием OnConnection срабатывает при каждом подключении COM в. Надстройка может подключаться при запуске, конечным пользователем, или с помощью автоматизации. Если OnConnection возвращает значение S_OK, надстройки называется загружаться. Если возвращается другое значение, ведущее приложение будет немедленно освободить свою ссылку на надстройку и объект будет уничтожен.

OnConnection принимает следующие четыре параметра:
  • Приложение - ссылку на интерфейс IDispatch ведущего приложения.
  • ConnectMode - константа, указывающая способ подключения надстройки.
    • ext_cm_AfterStartup - при запуске конечным пользователем в диалоговом окне надстройки COM.
    • ext_cm_CommandLine - подключение из командной строки.
    • ext_cm_External - соединенных внешние приложения с помощью модели автоматизации.
    • ext_cm_Startup - запускается при запуске главного приложения. Такое поведение может управляться параметром реестра.
  • AddInInst - ссылку на объект COMAddIn, который ссылается на эту надстройку в коллекции COMAddIns главного приложения.
  • Custom — массив типа Variant, который может содержать данные, определенные пользователем.


OnDisconnection

При отключении надстройки COM, и непосредственно перед выгружается из памяти, создается событие OnDisconnection. Надстройка должна выполнить очистку ресурсов в этом случае и восстановить все изменения, внесенные в ведущем приложении.

OnDisconnection принимает следующие два параметра:
  • RemoveMode - константа, указывающая способ отключения надстройки.
    • ext_dm_HostShutdown - отключения при закрытии ведущего приложения.
    • ext_dm_UserClosed - отключен, автоматический контроллер или конечному пользователю.
  • Custom — массив типа Variant, который может содержать данные, определенные пользователем.


OnAddInsUpdate

При изменении набора зарегистрированных надстроек COM, вызывается событие OnAddInsUpdate. Другими словами каждый раз, когда надстройка COM установке или удалении от ведущего приложения, это событие вызывается.


OnStartupComplete и OnBeginShutdown

События OnStartupComplete и OnBeginShutdown уведомлять надстройки в ведущее приложение покинул или переходит в состояние, где участие пользователя следует избегать, поскольку приложение занято загрузки или сам при выгрузке из памяти. OnStartupComplete возникает, только если надстройка была подключена при запуске и OnBeginShutdown возникает только в том случае, если добавить в отключении основным приложением во время завершения работы.

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

Регистрация надстройки COM

Помимо обычной регистрации COM надстройка COM необходимо зарегистрироваться для каждого приложения Office 2000, в котором он мог безопасно выполнять. Зарегистрироваться в конкретном приложении, надстройка создает подраздел, с помощью его идентификатора ProgID в качестве имени для ключа находится в следующем месте:

HKEY_CURRENT_USER\Software\Microsoft\Office\<appname>\Addins\<addinprogid></addinprogid></appname>
Надстройки можно указать значения в этом разделе реестра понятное отображаемое имя и полное описание. Кроме надстройка должна указать предполагаемое поведение при загрузке с помощью DWORD с именем «loadbehavior.» Это значение определяет, как надстройка загружается ведущим приложением и состоит из комбинации следующих значений:
  • 0x00 = отключить — не загружен.
  • 0x01 = подключен - загрузки.
  • 0x02 = bootload — загрузка при запуске приложения.
  • 0x08 = demandLoad — загрузка только по прямому запросу пользователя.
  • 0x16 = ConnectFirstTime - загрузка только один раз (при следующем запуске).
Стандартное значение — 0x03 (Connected | Загружено).

Надстройки, которые реализуют интерфейс IDTExtensibility2 следует также указать тип DWORD значение вызванного «CommandLineSafe» для указания того, являются ли они безопасными для операций, которые не поддерживают интерфейс пользователя. Значение 0x00 означает, что значение False, 0x01 имеет значение True. Поскольку в этом примере отображается окно сообщения, не является безопасным для выполнения командной строки и таким образом устанавливается значение 0x00.

Приступая к работе

Чтобы начать писать надстройки, скомпилировать образец проекта, запустите программу regsvr32.exe для построения библиотеки DLL и последующем запуске Microsoft Word, Excel, Powerpoint и Frontpage 2000. Вы увидите диалоговое окно открыто как надстройка загружается, говорит «Hello» и сообщает, какие приложения в.

(c) Корпорация Майкрософт 1999 г. все права защищены. Взносы, Ричард R. Taylor, корпорация Майкрософт.

Свойства

Код статьи: 230689 - Последний отзыв: 4 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft FrontPage 2002 Standard Edition
  • Microsoft FrontPage 2000 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 2002 Standard Edition
Ключевые слова: 
kbdownload kbautomation kbfile kbinfo kbsample kbmt KB230689 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:230689

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com