自动化客户端
自动使应用程序可以对另一个应用程序实现的对象,或者显示对象,以便可以进行操作。 自动化客户端可以操作属于另一个应用程序中显示对象的应用程序。 显示对象的应用程序调用自动化服务器。 客户端通过访问这些对象的特性和功能操作服务器应用程序的对象。
自动化客户端的类型
具有自动化客户端的两种类型:
的客户端 (在运行时) 为动态地获取有关服务器的特性和操作的信息。
拥有静态信息的客户端 (提供在编译时) 指定服务器的特性和操作。
第一个类型的客户端通过查询 OLE 系统的 IDispatch 结构获取有关服务器的方法和属性的信息。 尽管它能满足动态客户端使用, IDispatch 很难为静态客户端使用,必须知道驱动的对象在编译时。 对于静态绑定的客户端, Microsoft 基础类提供 COleDispatchDriver 类。
静态绑定客户端使用客户端应用程序静态链接的代理类。 此类提供服务器应用的特性和操作的类型安全的 C++ 封装。
类 COleDispatchDriver 提供主体。自动化客户端支持。 使用 Add New Item 对话框,可创建从 COleDispatchDriver派生的类。
您可以指定描述服务器应用程序中的对象的属性和函数类型库文件。 " 添加项 " 对话框读取该文件并创建 COleDispatchDriver派生类,其中含有您的应用程序可以调用访问在 C++ 服务器应用程序的对象与一个类型安全的方式的成员函数。 从 COleDispatchDriver 继承的其他功能可简化适当的自动化服务器进程。
处理在自动化客户端的事件
如果要在您的自动化客户端的事件,需要添加接收接口。 MFC 提供向导支持添加 Activex 控件的接收接口,,不适用于其他 COM 服务器。 有关如何将 MFC 客户端的一个接收接口的信息 COM 服务器描述的源接口的,请参见 HOWTO:创建一个接收接口在基于 MFC 的 COM 客户端 (KB 181845) https://support.microsoft.com/default.aspx?scid=kb;en-us;181845。