MẪU: Comaddin.exe Office 2000 COM Add-In được viết bằng Visual c ++

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:230689
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
TÓM TẮT
Comaddin.exe là một tập tin thực thi self-extracting thể hiện xây dựng mộtOffice 2000 hoặc Office XP cấu phần Object Model (COM) thêm-trong việc sử dụng Visual C++. Một COM thêm vào là một máy chủ COM trong quá trình thiết kế đặc biệt để chạy trong bối cảnh của một hoặc nhiều Office 2000 hoặc Office XP ứng dụng. COM add-in cung cấp một phương thức linh hoạt, hiệu quả và thống nhất của mở rộng môi trường văn phòng.

COM add-in đang được xây dựng bằng cách sử dụng ngôn ngữ lập trình nào đó có thể tạo các thành phần COM, chẳng hạn như Visual Basic, C/c + +, C#, và các ấn bản phát triển Office 2000 hoặc Office XP nhà phát triển của Microsoft Visual Basic for Applications (VBA).

Mẫu này chứng tỏ các bước cần thiết để xây dựng một COM thêm vào trong Visual C++. Mẫu tạo ra một cơ bản thêm trong vỏ mà bạn có thể mở rộng để xây dựng riêng của bạn văn phòng add-in.
THÔNG TIN THÊM
Các tập tin sau đây có sẵn để tải về từ Microsoft Download Center:
Ngày phát hành: 4 tháng 1 năm 1999

Để có thêm thông tin về làm thế nào để tải các tập tin hỗ trợ của Microsoft, bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
119591 Làm thế nào để có được Microsoft hỗ trợ tập tin từ các dịch vụ trực tuyến
Microsoft đã quét vi-rút cho tệp này. Microsoft đã sử dụng phần mềm dò tìm vi-rút mới nhất hiện có vào ngày tệp được đăng. Các tập tin được lưu trữ trên tăng cường bảo mật máy chủ có thể giúp phòng ngừa bất kỳ thay đổi không được phép để các tập tin.

Thông tin về tệp mẫu

Comaddin.exe chiết xuất các tập tin theo đây vào một thư mục của bạn lựa chọn:
   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

Cho một đối tượng COM là một văn phòng add-in, nó phải hỗ trợ giao diện IDTExensibility2 như mô tả trong thư Microsoft Add-In nhà thiết kế loại viện (Msaddndr.dll). Giao diện này đã được tuyên bố cho bạn trong ComAddin.h vì vậy, nhập khẩu không có là cần thiết. Tất cả các COM add-in kế thừa từ giao diện này và phải thực hiện mỗi phương pháp năm của mình:
  • OnConnection
  • OnDisconnection
  • OnAddInsUpdate
  • OnStartupComplete
  • OnBeginShutdown
Khi có một COM thêm vào lần đầu tiên tải, một QueryInterface gọi thực hiện cho IDTExtensibility2. Nếu cuộc gọi này không thành công, add-in là bỏ nạp. Nếu cuộc gọi thành công, các ứng dụng máy chủ lưu trữ sẽ sử dụng tham chiếu trở lại để thông báo cho add-in của thay đổi trạng thái của nó. Một mô tả của từng phương pháp sau.

OnConnection

Sự kiện OnConnection cháy bất cứ khi nào COM add-in được kết nối. Add-in có thể được kết nối trên khởi động, người dùng cuối, hoặc thông qua tự động hóa. Nếu OnConnection trả về S_OK, add-in được gọi là nạp. Nếu bất kỳ giá trị khác được trả lại, các ứng dụng máy chủ lưu trữ sẽ ngay lập tức phát hành của nó tham chiếu đến add-in và các đối tượng sẽ được tiêu huỷ.

OnConnection mất các tham số bốn sau đây:
  • Ứng dụng - một tài liệu tham khảo để giao diện IDispatch của các ứng dụng máy chủ lưu trữ.
  • ConnectMode - một hằng số xác định như thế nào add-in đã được kết nối.
    • ext_cm_AfterStartup - bắt đầu bởi người dùng cuối từ hộp thoại thêm-ins COM.
    • ext_cm_CommandLine - kết nối từ dòng lệnh.
    • ext_cm_External - kết nối bằng ứng dụng bên ngoài thông qua tự động hóa.
    • ext_cm_Startup - bắt đầu bởi máy chủ ứng dụng khi khởi động. Hành vi này có thể được kiểm soát bởi một thiết lập trong sổ đăng ký.
  • AddInInst - một tham chiếu đến đối tượng COMAddIn đề cập đến này thêm vào trong bộ sưu tập COMAddIns cho các ứng dụng máy chủ lưu trữ.
  • Tuỳ chỉnh - một mảng của các phiên bản có thể chứa dữ liệu người dùng xác định.


OnDisconnection

Sự kiện OnDisconnection cháy khi các COM thêm nhập bị ngắt kết nối và ngay trước khi nó unloads từ bộ nhớ. Add-in nên thực hiện bất kỳ dọn dẹp các nguồn lực trong sự kiện này, và khôi phục lại bất kỳ thay đổi nào được thực hiện cho các ứng dụng máy chủ lưu trữ.

OnDisconnection mất hai tham số sau đây:
  • RemoveMode - một hằng số xác định như thế nào add-in đã bị ngắt.
    • ext_dm_HostShutdown - ngắt kết nối khi đóng cửa các ứng dụng máy chủ lưu trữ.
    • ext_dm_UserClosed - ngắt kết nối của người dùng hoặc một bộ điều khiển tự động hóa.
  • Tuỳ chỉnh - một mảng của các phiên bản có thể chứa dữ liệu người dùng xác định.


OnAddInsUpdate

Sự kiện OnAddInsUpdate cháy khi thay đổi các thiết lập của đăng ký COM add-in. Nói cách khác, bất cứ khi nào một COM add-in được cài đặt hoặc gỡ bỏ từ các ứng dụng máy chủ lưu trữ, sự kiện này cháy.


OnStartupComplete và OnBeginShutdown

Cả hai OnStartupComplete và OnBeginShutdown sự kiện thông báo cho thêm-trong khi các ứng dụng máy chủ đã để lại hoặc đưa vào một tiểu bang nơi tương tác người dùng cần tránh vì ứng dụng đang bận tải hoặc xếp dỡ chính nó từ bộ nhớ. OnStartupComplete chỉ sẽ cháy, nếu bạn thêm trong đã được kết nối trong khi khởi động, và OnBeginShutdown sẽ chỉ bắn nếu bạn thêm trong bị ngắt kết nối bởi máy chủ trong tắt máy.

Bởi vì giao diện người dùng cho các ứng dụng máy chủ lưu trữ là hoạt động đầy đủ khi những sự kiện cháy, họ có thể là cách duy nhất để thực hiện một số hành động mà nếu không sẽ không có sẵn từ OnConnection và OnDisconnection.

Đăng ký COM Add-In

Thêm vào bình thường COM đăng ký, một COM thêm vào cần đăng ký chính nó với mỗi ứng dụng Office 2000 trong đó nó một cách an toàn có thể chạy. Để đăng ký chính nó với một ứng dụng cụ thể, thêm-trong tạo nên một subkey, bằng cách sử dụng ProgID của nó như là tên cho phím, theo vị trí sau:

HKEY_CURRENT_USER\Software\Microsoft\Office\<appname>\Addins\<addinprogid></addinprogid></appname>
Add-in có thể cung cấp giá trị tại vị trí chủ chốt này đối với cả hai tên thân thiện hiển thị và một mô tả đầy đủ. Ngoài ra, add-in nên xác định hành vi mong muốn tải của nó bằng cách sử dụng một giá trị DWORD được gọi là "loadbehavior." Giá trị này sẽ xác định như thế nào add-in sẽ được nạp bởi các ứng dụng máy chủ lưu trữ và bao gồm một sự kết hợp của các giá trị sau:
  • 0x00 = ngắt kết nối - không được nạp.
  • 0x01 = kết nối - được nạp.
  • 0x02 = bootload - tải về ứng dụng khởi động.
  • 0x08 = demandLoad - tải chỉ khi yêu cầu của người sử dụng.
  • 0x16 = ConnectFirstTime - tải chỉ một lần (trên khởi động tiếp theo).
Giá trị điển hình xác định là 0x03 (kết nối | Bootload).

Add-in mà thực hiện IDTExtensibility2 cũng nên chỉ định một DWORD giá trị được gọi là "CommandLineSafe" để chỉ ra cho dù họ là an toàn cho các hoạt động hỗ trợ một giao diện người dùng. Một giá trị của 0x00 có nghĩa là sai, 0x01 là đúng sự thật. Bởi vì mẫu này hiển thị một hộp thư, nó không phải là an toàn cho dòng lệnh thực hiện, và do đó đặt giá trị cho 0x00.

Bắt đầu

Để bắt đầu viết add-in, biên dịch dự án mẫu, chạy regsvr32.exe regsvr32.exe trên DLL được xây dựng và sau đó khởi động Microsoft Word, Excel, Powerpoint và/hoặc Frontpage 2000. Bạn sẽ thấy một hộp thoại mở như add-in được nạp mà nói "Hello" và sẽ cho bạn biết những gì ứng dụng đó là trong.

(c) tập đoàn Microsoft 1999, tất cả các quyền. Những đóng góp của Richard R. Taylor, Microsoft Corporation.

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 230689 - Xem lại Lần cuối: 12/05/2015 14:23:57 - Bản sửa đổi: 2.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

  • kbnosurvey kbarchive kbdownload kbautomation kbfile kbinfo kbsample kbmt KB230689 KbMtvi
Phản hồi