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();


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐