Ily*_*tov 62
以下代码将执行VBScript脚本,没有提示或错误,也没有shell徽标.
System.Diagnostics.Process.Start(@"cscript //B //Nologo c:\scripts\vbscript.vbs");
Run Code Online (Sandbox Code Playgroud)
一种更复杂的技术是使用:
Process scriptProc = new Process();
scriptProc.StartInfo.FileName = @"cscript";
scriptProc.StartInfo.WorkingDirectory = @"c:\scripts\"; //<---very important
scriptProc.StartInfo.Arguments ="//B //Nologo vbscript.vbs";
scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //prevent console window from popping up
scriptProc.Start();
scriptProc.WaitForExit(); // <-- Optional if you want program running until your script exit
scriptProc.Close();
Run Code Online (Sandbox Code Playgroud)
使用这些StartInfo属性可以非常精细地访问流程设置.
如果希望脚本程序显示窗口等,则需要使用Windows脚本宿主.您也可以尝试直接执行cscript,但在某些系统上它只会启动编辑器:)
另一种方法是创建一个 VB.NET 类库项目,将您的 VBScript 代码复制到一个 VB.NET 类文件中,然后从您的 C# 程序中引用 VB.NET 类库。
您需要修正 VBScript 和 VB.NET 之间的任何差异(应该很少)。
这里的优点是您将在进程中运行代码。
| 归档时间: |
|
| 查看次数: |
79830 次 |
| 最近记录: |