1

我需要在 ac# 代码中使用 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);
4

2 回答 2

1

脚本不是可执行文件 - 它们由 Windows Script Host 运行,因此您需要在脚本名称之前指定 cscript.exe 或 wscript.exe 的路径:

object[] methodArgs = {   
                        Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cscript.exe") + @" C:\MyFolder\Test.vbs arg1 arg2",
                        null,
                        null,
                        0
                      };
于 2009-05-29T14:06:02.937 回答
0

我对这类事情了解不多,但认为您可能需要调用脚本主机并将其传递给 vbs 文件才能运行。

于 2009-05-29T13:56:52.207 回答