我知道Windows服务无法运行与GUI相关的任务,因为它不会在操作系统ui sesssion上运行。
我有一个执行PowerShell脚本的批处理文件,此脚本会打开PowerShell控制台等。
当我尝试使用Windows服务运行批处理文件时,没有任何反应。当我尝试使用exe运行此批处理时,它可以工作。如何获得运行此类任务的服务?
答案 0 :(得分:0)
要详细说明@Henrik的建议,您可以直接从C#执行批处理文件中的命令,这可能有效。
Process cmd = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "cmd.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;
cmd.StartInfo = info;
cmd.Start();
using (StreamWriter sw = cmd.StandardInput)
{
sw.WriteLine("echo command1");
sw.WriteLine("echo command2");
sw.WriteLine("echo command3");
}