PDFを画像に変換するプログラムがあります。プログラムを手動で実行している間、すべてが機能します。しかし、プログラムをスケジュールされたタスクとして実行しようとすると、ImageMagick または cmd (不明) が開始を拒否し、ステップをジャンプしてプログラムを停止させます。
別のユーザーで実行しようとしましたが(スケジュールされたタスクと特権を持つユーザーとしてプロセスを開始することの両方)、何も機能していないようで、次にどこから始めるべきかを理解していない、または知らないままです。
私の推測では、これはユーザー セキュリティに関係しており、C# のプロセス/コマンドから imagemagick を実行することは許可されていません。
コード:
string args = string.Format("/k convert -density 200 \"{0}\" -quality 40 \"{1}\\{2}\"", file.FullName, imageFolder, file.Name.Replace("pdf", "png"));
using (Process proc = new Process {
    StartInfo = {
        Arguments = args,
        FileName = @"CMD.exe",
        UseShellExecute = false,
        CreateNoWindow = true,
        RedirectStandardOutput = true,
        RedirectStandardError = true
    }
}) {
    proc.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
    proc.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);
    proc.Start();
    proc.WaitForExit(5000);
    proc.Kill();
}
static void p_OutputDataReceived(object sender, DataReceivedEventArgs e) {
    using (StreamWriter sw = new StreamWriter(Program.BaseFolder + "\\log.txt")) {
        sw.WriteLine(e.Data);
    }
}
static void p_ErrorDataReceived(object sender, DataReceivedEventArgs e) {
    using (StreamWriter sw = new StreamWriter(Program.BaseFolder + "\\log.txt")) {
        sw.WriteLine(e.Data);
    }
}