COMコンポーネントを呼び出すためのVC ++ COleDispatchDriverラッパークラスとインターフェイスを生成します

一般的には、COMコンポーネントを呼び出すためのCoCreateInstanceを使用することができます。VC ++ COleDispatchDriverラッパークラスで自動的に生成されたインターフェイスのCOMコンポーネントを呼び出すために - しかし、COMコンポーネントのための簡単な方法があり、IDispatchインタフェースを実装しています。
 
例えば:などのVBScriptステートメントとして、VC ++でのスクリプト文を実行します。
 
C:システムは、制御を提供し、それによってIScriptControlと呼ばれるインタフェースを提供します\ WINDOWS \ SYSTEM32 \ msscript.ocxは、我々はスクリプトステートメントを実行することができます。
 
1. VC ++ラッパークラスを自動的に作成
VCとMFCは、プロジェクトの設立をサポートし、「MFCクラスライブラリの種類」を選択し、クラスを追加し、msscript.ocxファイルを選択し、示さ++ようIScriptControlは、右の列に追加: 完了をクリックした後に発生することができ CScriptControlのパッケージを。

VC ++ MFCクラスのタイプライブラリを追加します
 
 
2.生成されたクラスを使用して
    // 初期化 のCOM ライブラリを
    CoInitialize NULL )。
 
    //は、 作成 MSScriptControl.ScriptControl インスタンスを
    // によって名前(プログラムID) VC ++ ガジェットディレクトリが OLEVIEW 得ます。
    CScriptControl JS ;
    もし JS CreateDispatchを"MSScriptControl.ScriptControl" ))
    {
        // 現在使用されているスクリプト言語を設定します
        JS put_Language "JScriptの" );
        // ステートメントを実行する の実装が完了した後 VAR それすなわち、式の結果が含まれています
        VARIANTのvar =のJS 評価"1.234 + 5.31" );
        // 解放インタフェース
        JS ReleaseDispatch ();
    }
       
    // 閉じ たCOM ライブラリを
    CoUninitializeの();
 
 3.本実施形態の他の使用は、

便利に、ドットコード、これらの式の評価として包装することができます。

ます。https://www.cnblogs.com/rogee/archive/2011/02/19/1958690.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33736649/article/details/94680625