2017-11-10 17 views
0

C#のコードとC#のから:コールのVBScriptのWScriptアクセスCOM MSScriptControlと

var script = new MSScriptControl.ScriptControl(); 
script.Language = "VBScript"; 
script.AddObject("me", this, true); 
//script.AddObject("WScript", wscript, true); 
script.AddCode(System.IO.File.ReadAllText("Script.vbs")); 

Script.vbs内容:

Set oShell = WScript.CreateObject ("WScript.Shell") 

エラー:オブジェrequis: 'のWScript'

どのように私ができますaddobjectのC#でWScriptオブジェクトのインスタンスを作成しますか?

+1

WScriptオブジェクトはwscript.exeとcscript.exeによって実装されていますが、それらはもはや画像にはありません。今はあなたがホストを実装しているので、WScriptも実装する必要があります。これは難しいことではありませんが、WScriptがサポートしているすべてのものをサポートしたい場合には役に立ちます。あなたが求めているのは、パブリックオブジェクトCreateObject(文字列progid、文字列接頭辞)メソッドで[ComVisible(true)]であるC#クラスです。 Microsoft.VisualBasic.Interaction.CreateObject(progid)を呼び出します。特にWScript.Quit()メソッドは実装が難しいです。 –

答えて

0

wscript.exe/cscript.exeホストによって提供されるWScriptオブジェクトをScriptControlに与える必要はありません。ただ普通のCreateObjectを使用してください。 hereを参照してください。

関連する問題