自动化客户端

自动化使应用程序能够作在另一个应用程序中实现的对象,或公开对象,以便可以对其进行作。 自动化客户端是一个应用程序,可以作属于另一个应用程序的公开对象。 公开对象的应用程序称为自动化服务器。 客户端通过访问这些对象的属性和函数来作服务器应用程序的对象。

自动化客户端的类型

有两种类型的自动化客户端:

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

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

第一种类型的客户端通过查询 OLE 系统 IDispatch 的机制来获取有关服务器方法和属性的信息。 尽管它足以用于动态客户端, IDispatch 但很难用于静态客户端,其中驱动的对象必须在编译时知道。 对于静态绑定客户端,Microsoft基础类提供 COleDispatchDriver 类。

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

该类 COleDispatchDriver 为自动化客户端提供主体支持。 使用“ 添加新项 ”对话框创建派生自 COleDispatchDriver的类。

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

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

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

另请参阅

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