共用方式為


Automation

Automation (先前稱為 OLE Automation) 讓應用程式能操作在另一個應用程式實作的物件,或者公開物件讓它們可以被操作。

Automation 伺服程式 是一個應用程式 (型別為 COM 伺服器) ,可以透過 COM 介面公開其功能給其他應用程式,稱為 Automation 用戶端。 公開讓 Automation 用戶端可以直接存取物件並使用所提供的服務,自動化某些函式。

Automation 伺服程式和用戶端會使用永遠衍生自 IDispatch 的 COM 介面,接受並傳回一組特定的資料型別,稱為 Automation 型別。 您可以自動化公開 Automation 介面的任何物件,提供可以從其他應用程式存取的方法和屬性。 Aurotmation 在 OLE 和 COM 物件皆可取得。 自動化物件可能在本機或遠端 (在網路上的其他電腦進行存取);自動化有兩個分類:

  • Automation (區域)。

  • 遠端自動化 (在網路上,使用分散式 COM 或 DCOM)。

當應用程式提供有用的功能給其他應用程式時,公開物件是有益處的。 例如, ActiveX 控制項是 Automation 伺服程式的型別;裝載 ActiveX 控制項的應用程式是這個控制項的 Automation 用戶端。

另一個例子,文書處理器可能會公開其拼字檢查功能給其他程式。 使用其他應用程式的現成功能,讓廠商公開物件,改善其應用程式的功能。 如此一來, Automation 在層級應用程式套用某些物件導向程式設計準則,例如重複使用性和套件。

更重要的是 Automation 提供給使用者和方案提供者的支援。 透過公開應用程式功能給予共用、明確定義的介面,Automation 讓單一一般程式語言 (如 Microsoft Visual Basic) 可以建立複雜的應用程式,而不是在應用程式專屬的巨集語言中才能建立。

許多商用應用軟體,例如 Microsoft Excel 和 Microsoft Visual C++,可讓您自動化其功能。 例如,在 Visual C++ 中,您可以撰寫 VBScript 巨集來自動化組建、編譯程式碼的外觀或偵錯工作。

在 Automation 內傳遞參數

建立 Automation 方法的其中一個困難是要提供一致的「安全」機制,可以在 Automation 伺服器和用戶端之間傳遞資料。 Automation 使用 VARIANT 型別來傳遞資料。 VARIANT 型別是標記的聯集。 它具有值的資料成員 (為匿名 C++ 聯集) 和表示儲存在聯集的型別資訊之資料成員。 VARIANT 型別支援許多標準資料型別:2 位元和 4 位元的整數、4 位元和 8 位元的浮點數、字串和布林值。 此外,它支援 HRESULT (OLE 錯誤碼)、CURRENCY (固定點數字型別 Numeric Type) 和 DATE (絕對日期和時間) 型別,以及對 IUnknown 的指標和 IDispatch 介面。

VARIANT 型別封裝在 COleVariant 類別。 支援的 CURRENCYDATE 類別封裝在 COleCurrencyCOleDateTime 類別裡。

Automation 範例

  • AUTOCLIK 使用此範例了解 Automation 技術,做為學習遠端 Automation 的基礎。

  • ACDUAL 將雙重介面加入至 Automation 伺服應用程式。

  • CALCDRIV 驅動 MFCCALC 的 Automation 用戶端應用程式。

  • INPROC 示範處理序內 Automation 伺服應用程式。

  • IPDRIVE 驅動 INPROC 的 Automation 用戶端應用程式。

  • MFCCALC 示範 Automation 用戶端應用程式。

您還想知道關於哪些方面的詳細資訊?

您想要執行甚麼工作?

請參閱

概念

MFC COM