1

Windows サービスは、オペレーティング システムの UI セッションで実行されないため、GUI 関連のタスクを実行できないことを知っています。

PowerShell スクリプトを実行するバッチ ファイルがあります。このスクリプトは PowerShell コンソールなどを開きます。

Windows サービスを使用してバッチ ファイルを実行しようとしても、何も起こりません。exeを使用してこのバッチを実行しようとすると、動作します。このようなタスクを実行するサービスを取得するにはどうすればよいですか?

4

1 に答える 1

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");
}
于 2013-01-31T13:34:39.273 に答える