VC可以创建COM组件的包装类,文件COM组件的使用。
在类向导中添加类,选择来自文件,添加自己需要包装的组件,例如添加一个脚本解析类,添加c:\windows\system32\msscript.ocx,添加组件中的IScriptControl接口,生成CScriptControl类,通过以下代码来使用:
// 初始化COM环境
CoInitialize(NULL);
// 使用之前要包含生成的包装类的头文件CScriptControl.h
CScriptControl Script;
// 创建一个实例,MSScriptControl.ScriptControl名称可以用VS工具的OLE-COM Object Viewer来查看
// 找到自己包装的COM组件库,双击打开,顶端即为类型名,下方的coclass为接口名称
if (Script.CreateDispatch(L"MSScriptControl.ScriptControl") == TRUE)
{
// 设置使用的脚本语言
Script.put_Language(L"JScript");
// 定义使用的变量,VARIANT描述一个返回值,设置的形式可以使用_variant_t(1.2)类似的形式进行赋值
VARIANT var;
double dblTmp;
try
{
// 执行脚本,返回值保存在var中
var = Script.Eval(L"(11.2 + 5.5) * 12 + 2.2 / 1.2");
// 取出var中的值
dblTmp = var.dblVal;
}
catch (CException* e)
{
// 捕获异常
MessageBox(L"Exception.");
}
// 释放接口
Script.ReleaseDispatch();
}
// 关闭COM环境
CoUninitialize();