我需要在c#代码中使用WMI来启动Visual Basic脚本文件。
我不太明白这段代码有什么问题?结果将始终为8(未知故障)。但是例如notepad.exe可以在没有失败的情况下启动。
//Get the object on which the method will be invoked
ManagementClass processClass = new ManagementClass("Win32_Process");
//Create an array containing all arguments for the method
object[] methodArgs = { "C:\\MyFolder\\Test.vbs arg1 arg2", null, null, 0 };
//Execute the method
object result = processClass.InvokeMethod("Create", methodArgs);
答案 0 :(得分:1)
脚本不是可执行文件 - 它们由Windows脚本宿主运行,因此您需要在脚本名称之前指定cscript.exe或wscript.exe的路径:
object[] methodArgs = {
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cscript.exe") + @" C:\MyFolder\Test.vbs arg1 arg2",
null,
null,
0
};
答案 1 :(得分:0)
我对这类事情知之甚少,但认为您可能需要调用脚本主机并将其传递给vbs文件才能运行。