3
我有下面的VBScript代碼在MyScript.vbs:的VBScript GetObject的()不工作如果從C#WPF應用程序稱爲
Dim myApp
Set myApp = GetObject(,"ViewDraw.Application")
我把它從PowerShell命令行,像這樣:
cscript MyScript.vbs //I
這按預期工作; myApp設置爲我正在查找的過程,並且可以與它進行交互。
下面是一些C#代碼,試圖做同樣的事情:
var script = new Process();
script.StartInfo.FileName = "cscript";
script.StartInfo.Arguments = @"<MyWorkingFolder>\MyScript.vbs //I";
script.StartInfo.CreateNoWindow = true;
script.StartInfo.RedirectStandardOutput = true;
script.StartInfo.UseShellExecute = false;
script.Start();
//Read anything sent out by program
string output = script.StandardOutput.ReadToEnd();
script.WaitForExit();
VBScriptResult result = new VBScriptResult();
result.returnCode = script.ExitCode;
result.stdOut = output;
return result;
當我執行的C#代碼,在VBScript中的GetObject的()調用失敗。有類似的SO問題,我已經嘗試了他們的建議。一個建議是明確地調用cscript的32位或64位版本。然而,兩者都沒有奏效。
這並不總是一個問題。代碼現在已經有幾年了,並且已經在過去。對Visual Studio 2017進行更新可能會導致此問題。我目前正在運行版本15.3.5。
我一直在這個問題上停留了一週,所以任何幫助都非常感謝!
「當我執行C#代碼時,VBScript在GetObject()調用失敗。」闡述? – itsme86
VBScript錯誤是「ActiveX組件無法創建對象:'GetObject'」。但是,我通過重新安裝Visual Studio解決了問題。我會在下面解釋更多。 – polyrhythms