Pregunta

necesito para iniciar un archivo script de Visual Basic mediante WMI en un código C #.

No entiendo muy bien lo que está mal con este pedazo de código? El resultado será siempre 8 (fallo desconocido). Pero por ejemplo notepad.exe se puede iniciar sin fallo.

        //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);
¿Fue útil?

Solución

Las secuencias no son ejecutables - que están a cargo de Windows Script Host, por lo que necesita para especificar la ruta a CSCRIPT.EXE o wscript.exe antes de que el nombre del script:

object[] methodArgs = {   
                        Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cscript.exe") + @" C:\MyFolder\Test.vbs arg1 arg2",
                        null,
                        null,
                        0
                      };

Otros consejos

No sé mucho acerca de este tipo de cosas, pero creo que puede que tenga que invocar anfitrión guión y pasarle el archivo VBS para funcionar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top