예제: Comaddin.exe Office 2000 COM 추가 Visual C++에서 기록된 기능

기술 자료 번역 기술 자료 번역
기술 자료: 230689 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

Comaddin.exe는 Office 2000이나 Office XP 구성 요소 개체 모델(COM) 추가 Visual C++를 사용하여 기능 건물 보여 자동 압축 풀기 실행 파일입니다. COM 추가 기능 in-process COM 서버를 하나 이상의 Office 2000 또는 Office XP 응용 프로그램의 컨텍스트 내에서 실행되도록 특별히 설계된 것입니다. COM 추가 기능 Office 환경을 확장하는 유연한 효율적이고 일관된 방법을 제공합니다.

COM 추가 기능은 VBA에 대한 COM 구성 요소 (예: Visual Basic, C/C++, C# 및 Visual Basic의 Office 2000 개발자 또는 Office XP Developer 버전을 만들 수 있는 모든 프로그래밍 언어를 사용하여 빌드됩니다.

이 샘플에서는 Visual C++ 에서 COM 추가 기능을 빌드합니다 데 필요한 단계를 보여 줍니다. 이 샘플에서는 사용자 지정 Office 추가 기능을 빌드하려면 확장할 수 있는 기본 추가 기능 셸을 만듭니다.

추가 정보

Microsoft 다운로드 센터에서 다음 파일을 다운로드 할 수 있습니다:
Comaddin.exe
릴리스 날짜: 1999년 1월 4일

Microsoft 지원 파일을 다운로드하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
119591온라인 서비스로부터 Microsoft 지원 파일 구하는 방법
Microsoft는 이 파일에 대한 바이러스를 검색합니다. Microsoft는 파일을 게시한 날짜에 사용할 수 있었던 최신 바이러스 검색 소프트웨어가 사용됩니다. 해당 파일을 무단으로 변경할 수 없는 보안이 향상된 서버에 보관됩니다.

예제 파일 정보

다음 파일을 선택한 폴더에 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

Office 추가 - 수 COM 개체의 이를 Microsoft 추가 기능 디자이너 형식 라이브러리에 있는 (Msaddndr.dll) 설명대로 IDTExensibility2 인터페이스를 지원해야 합니다. 없음 가져오기 필요한 있으므로 이 인터페이스에 대한 ComAddin.h 있는 선언되었습니다. 모든 COM 추가 기능은 이 인터페이스에서 상속되며 5가지 메서드를 각각 구현해야 합니다.
  • OnConnection
  • OnDisconnection
  • OnAddInsUpdate
  • OnStartupComplete
  • OnBeginShutdown
COM 추가 기능 처음 로드될 때 IDTExtensibility2에 대한 QueryInterface 호출을 이루어집니다. 이 호출에 실패한 경우 추가 기능이 언로드됩니다. 호출이 성공하면 호스트 응용 프로그램에 추가 기능이 있는 상태로 변경 알리기 위해 반환되는 참조를 사용합니다. 각 방법에 대한 설명은 다음과 같습니다.

OnConnection

해당 COM 추가 기능 연결되어 때마다 OnConnection 이벤트가 발생합니다. 추가 기능을 시작할 때 최종 사용자 또는 자동화를 통해 연결될 수 있습니다. OnConnection S_OK를 반환하면 추가 기능을 로드할 수 있다고 합니다. 다른 값이 반환되면 호스트 응용 프로그램을 즉시 추가 기능에 대한 참조를 해제합니다 및 있는 개체는 소멸됩니다.

OnConnection 다음 네 개의 매개 변수를 사용합니다.
  • 응용 프로그램 - 호스트 응용 프로그램의 IDispatch 인터페이스에 대한 참조입니다.
  • ConnectMode - 추가 기능을 어떻게 연결되어 지정하는 나타내는 상수입니다.
    • ext_cm_AfterStartup - COM 추가 기능 대화 상자에서 최종 사용자가 시작했습니다.
    • ext_cm_CommandLine - 명령줄에서 연결되었습니다.
    • ext_cm_External - 자동화를 통해 외부 응용 프로그램에서 연결.
    • ext_cm_Startup - 응용 프로그램 시작 시 호스트에 의해 시작했습니다. 이 동작은 레지스트리의 설정에 의해 제어할 수 있습니다.
  • AddInInst - 이 추가 기능을 사용하면 호스트 응용 프로그램에 대한 COMAddIns 컬렉션의 참조하는 COMAddIn 개체 참조입니다.
  • 사용자 지정 - 사용자 정의 데이터를 저장할 수 있는 Variant 있는 배열입니다.


OnDisconnection

OnDisconnection 이벤트 있는 COM 추가 기능에 대한 연결이 끊기면 및 메모리에서 언로드합니다 바로 전에 발생합니다. 추가 기능에서 합니다 이 이벤트에서 리소스를 모든 정리 작업을 수행할 및 호스트 응용 프로그램으로의 변경 내용을 복원합니다.

OnDisconnection 다음 두 매개 변수를 사용합니다.
  • RemoveMode - 추가 기능이 어떻게 끊어졌습니다 지정하는 나타내는 상수입니다.
    • ext_dm_HostShutdown - 호스트 응용 프로그램의 닫을 때 연결이 끊어졌습니다.
    • ext_dm_UserClosed - 최종 사용자 또는 자동화 컨트롤러의 연결이 끊어졌습니다.
  • 사용자 지정 - 사용자 정의 데이터를 저장할 수 있는 Variant 있는 배열입니다.


OnAddInsUpdate

OnAddInsUpdate 이벤트 등록된 COM 추가 기능 집합이 변경될 때 발생합니다. 즉, COM 추가 기능 설치하거나 호스트 응용 프로그램에서 제거할 때마다 이 이벤트가 실행됩니다.


OnStartupComplete 및 OnBeginShutdown

OnStartupComplete 및 OnBeginShutdown 이벤트는 호스트 응용 프로그램에서 나갔습니다 또는 응용 프로그램 로드 또는 자체를 메모리에서 언로드하기 사용 중이기 때문에 사용자 상호 작용을 피해야 상태를 입력할 때 추가 기능에서 알립니다. OnStartupComplete는 시작하는 동안 연결된 추가 기능 및 추가 기능 호스트에서 종료하는 동안 연결이 끊어지면 OnBeginShutdown 경우에만 발생하지 것입니다 경우에는 발생하지 것입니다.

이러한 이벤트를 발생시킬 때 호스트 응용 프로그램의 사용자 인터페이스를 완전히 활성화되어 있기 때문에 유일한 방법은 OnConnection 및 OnDisconnection에서 사용할 수 있는 특정 작업을 수행할 수 있습니다.

해당 COM 추가 기능 등록

Office 2000 응용 프로그램에서 이를 안전하게 실행할 수 있는 각 등록하려면 COM 추가 기능 외에도 일반 COM 등록, 합니다. 특정 응용 프로그램에 등록하려면 추가 기능에서는 다음 위치에 키 이름으로 ProgID를 사용하여 하위 키를 만듭니다.

HKEY_CURRENT_USER\Software\Microsoft\Office\<appname>\Addins\<addinprogid>
추가 기능에서는 친숙한 표시 이름과 전체 설명에 대한 이 키 위치에 값을 제공할 수 있습니다. 또한 추가 "LoadBehavior." 라는 DWORD 값을 사용하여 원하는 로드 동작을 지정해야 합니다. 이 값은 추가 기능을 호스트 응용 프로그램에서 로드하는 방법과 다음 값의 조합으로 구성됩니다 결정합니다.
  • 0x00 끊기 = - 로드할 수 없습니다.
  • 0x01 연결됨 = - 로드된 것입니다.
  • bootload - 응용 프로그램 시작 로드 0x02 =.
  • 사용자가 요청하면 로드 demandLoad - 0x08 =.
  • 로드 번만 다음 시작)를 ConnectFirstTime - 0x16 =.
지정한 일반적인 0x03 값입니다 (연결됨 | Bootload).

DWORD IDTExtensibility2 구현하는 추가 기능 또한 지정해야 합니다 "사용자 인터페이스를 지원하지 않는 작업에 안전 있는지 여부를 나타내기 위해 호출된 CommandLineSafe" 값입니다. False, 0x00 값 0x01 True인 의미합니다. 이 샘플에서는 메시지 상자를 표시하는 때문에 명령줄 실행에 대해 안전합니다 및 따라서 0x00 수 값을 설정합니다.

시작

추가 기능을 작성하는 시작하기 위해 샘플 프로젝트를 컴파일, regsvr32.exe가 빌드된 DLL을 실행할 및 Microsoft Word, Excel, Powerpoint 및 FrontPage 2000 시작. "Hello" 라는 및 사용하고 어떤 응용 프로그램이 알려 열 추가 기능이 로드되는 대화 상자가 표시되어야 합니다.

(c) Microsoft의 1999년, 예약 모든 권한. 리처드 오른쪽 Taylor, Microsoft Corporation에 의해 기고물입니다.

속성

기술 자료: 230689 - 마지막 검토: 2004년 8월 9일 월요일 - 수정: 5.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • 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
  • Microsoft Outlook 2002 Standard Edition
키워드:?
kbmt kbdownload kbautomation kbfile kbinfo kbsample KB230689 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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