所谓自动化(Automation),就是可以与VB、VBScript、JScript、VB for Application等其它微软编程语言进行弱类型交互的能力。应用程序不用知道任何类型信息,只要知道组件名称(ProgID)和方法(Method)或属性(Property)的名称即可与之交互。从组件名称(ProgID)可以由CLSIDFromProgID然后CoCreateInstance来创建组件。支持自动化的组件必须支持IDispatch接口。IDispatch接口中,比较重要的有GetIDsOfNames可以获取方法或属性的ID(DISPID),Invoke可以调用方法或者属性。自动化必须使用VARIANT或VARIANT所能表示的类型,比如INT,LONG,VARIANT_BOOL,BSTR,SAFEARRAY等,不能使用其它类型。
评论