0

在此代码之后,我需要隐藏隐藏 Windows 主机脚本:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C slmgr.vbs /dlv";
process.StartInfo = startInfo;
process.Start();

有谁知道我该怎么做?

4

2 回答 2

2

如果您只是在谈论完全隐藏窗口,那么您就错过了设置CreateNoWindow属性。

startInfo.CreateNoWindow = true;

不要启动额外的命令提示符,而是使用cscript.exe来执行您的 VB 脚本。如果你这样做,你就不必担心 shell 会弄清楚如何执行你的 vbs 文件,你也不会得到一个额外的命令行窗口。

startInfo.FileName = "cscript.exe";
startInfo.Arguments = "slmgr.vbs /dlv";

如果创建此进程的可执行文件与 slmgr.vbs 不在同一目录中,您还需要在参数中设置文件的完整路径,或设置进程运行所在的工作目录。

// Example path where your scripts could reside.
startInfo.WorkingDirectory = @"C:\PathToMyScripts\VBScripts\";

您可能还想重定向输出,以便可以在某处记录它。

于 2013-10-29T19:25:13.407 回答
0

感谢 Mr.BrutalDev 第二步更改startInfo.Arguments = "slmgr.vbs /dlv";startInfoent.Arguments = "C:\\Windows\\System32\\slmgr.vbs /dlv";

于 2013-11-09T17:38:35.743 回答