Frage

Ich brauche eine Visual Basic Script-Datei zu starten, mithilfe von WMI in einem c # -Code.

Ich verstehe nicht ganz, was mit diesem Stück Code falsch? Ergebnis wird immer 8 (Unbekannter Fehler). Aber zum Beispiel kann notepad.exe ohne Fehler gestartet werden.

        //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);
War es hilfreich?

Lösung

Skripte sind nicht ausführbare Dateien - sie werden von Windows Script Host ausgeführt werden, so müssen Sie den Pfad angeben CScript.exe oder wscript.exe vor dem Skriptnamen:

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

Andere Tipps

Ich weiß nicht viel über diese Art der Sache, aber denken Sie Skript Host aufrufen und übergeben sie die vbs-Datei auszuführen.

müssen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top