テスト サーバーからのプロセスの実行に問題があります。Windows XP と iis5.1 を使用しているローカルホストで、machine.config ファイルを次の行に変更しました -
次に、iis のログインを変更して、ローカル システム アカウントとしてログオンし、サーバーがデスクトップとやり取りできるようにしました。これにより、XP でコードからプロセスを実行する際の問題が修正されました。
Windows Server 2003 で同じ方法を使用すると (iis6 分離モードを使用)、プロセスは実行されません。
プロセスを実行するコードは次のとおりです (コマンド ラインから iecapt への入力をテストしたところ、イメージが生成されました)。
public static void GenerateImageToDisk(string ieCaptPath, string url, string path, int delay)
{
url = FixUrl(url);
ieCaptPath = FixPath(ieCaptPath);
string arguments = @"--url=""{0}"" --out=""{1}"" --min-width=0 --delay={2}";
arguments = string.Format(arguments, url, path, delay);
ProcessStartInfo ieCaptProcessStartInfo = new ProcessStartInfo(ieCaptPath + "IECapt.exe");
ieCaptProcessStartInfo.RedirectStandardOutput = true;
ieCaptProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
ieCaptProcessStartInfo.UseShellExecute = false;
ieCaptProcessStartInfo.Arguments = arguments;
ieCaptProcessStartInfo.WorkingDirectory = ieCaptPath;
Process ieCaptProcess = Process.Start(ieCaptProcessStartInfo);
ieCaptProcess.WaitForExit(600000);
ieCaptProcess.Close();
}