Question

Je dois commencer un fichier de script Visual Basic en utilisant WMI dans un code c #.

Je ne comprends pas tout à fait ce qui ne va pas avec ce morceau de code? Le résultat sera toujours 8 (défaillance inconnue). Mais par exemple notepad.exe peut être démarré sans échec.

        //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);
Était-ce utile?

La solution

Scripts ne sont pas exécutables - ils sont gérés par Windows Script Host, vous devez spécifier le chemin d'accès CScript.exe ou wscript.exe avant le nom du script:

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

Autres conseils

Je ne sais pas beaucoup sur ce genre de chose, mais pense que vous devrez peut-être appeler hôte de script et transmettre le fichier vbs pour exécuter.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top