Share via


自动化客户端

利用自动化,您的应用程序可以操作在其他应用程序中实现的对象,或者公开对象以允许操作这些对象。 自动化客户端是一个可以操作属于另一个应用程序的公开对象的应用程序。 公开对象的应用程序称为自动化服务器。 客户端通过访问服务器应用程序对象的属性和函数来操作这些对象。

自动化客户端的类型

自动化客户端分为两种类型:

  • 动态(在运行时)获取有关服务器的属性和操作的信息的客户端。

  • 拥有指定服务器的属性和操作的静态信息(在编译时提供)的客户端。

第一类客户端通过查询 OLE 系统的 IDispatch 机制来获取有关服务器的方法和属性的信息。 对于动态客户端来说,这已经足够了,但对于静态客户端来说,IDispatch 难以使用,因为静态客户端必须在编译时知道被驱动的对象。 对于静态绑定客户端,Microsoft Foundation 类提供 COleDispatchDriver 类。

静态绑定客户端使用与客户端应用程序静态链接的代理类。 此类提供对服务器应用程序的属性和操作的类型安全 C++ 封装。

COleDispatchDriver 类为自动化客户端提供主要支持。 使用“添加新项”对话框,可以创建一个派生自 COleDispatchDriver 的类。

然后,指定描述服务器应用程序对象的属性和功能的类型库文件。 “添加项”对话框读取此文件并创建 COleDispatchDriver 派生类,其中包含应用程序可以调用的成员函数,以便以类型安全的方式访问 C++ 中的服务器应用程序的对象。 从 COleDispatchDriver 继承的附加功能简化了调用适当的自动化服务器的过程。

处理自动化客户端中的事件

如果要在自动化客户端中处理事件,则需要添加接收器接口。 MFC 提供向导支持来为 ActiveX 控件添加接收器接口,但不支持其他 COM 服务器。

另请参阅

自动化客户端:使用类型库
自动化
MFC 应用程序向导