C#コードでWMIでスクリプト(VBS)を開始するには?
-
06-09-2019 - |
質問
私は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);
解決
スクリプトが実行可能ではありません - 彼らは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
};
他のヒント
私は事のこのタイプについて多くを知っていますが、スクリプトホストを起動し、それを実行するためにVBSファイルを渡す必要があるかもしれないと思う。
所属していません StackOverflow