SVN から最新のコードを更新し、CutyCapt を Qt SDK 4.8 に準拠させました。そして、バイナリの同じ場所にlibeay32.dll / ssleay32.dllを静的にリンクしました。
コマンド ウィンドウで CutyCapt プロセスを起動すると、正常に動作します。
ASP.NET (w3wp) から CutyCapt プロセスを起動して HTTP Web ページをキャプチャすると、正常に動作します。
ASP.NET (w3wp) から CutyCapt プロセスを起動して HTTPS Web ページをキャプチャしても機能せず、常に空白の画像が生成されます。
libeay32.dll / ssleay32.dllの依存関係がロードされていないためではないかと疑ったため、これらの 2 つの dll をsystem32 / SysWOW64にコピーしましたが、これで問題は解決しません。次に、ProcessMonitor でプロセスを監視すると、libeay32.dll / ssleay32.dllが正常に読み込まれていることがわかります。したがって、依存関係は理由ではありません。
CutyCapt を起動する C# コードは次のとおりです。
using (Process process = new Process())
{
process.StartInfo.FileName = ti.ExeFile;
process.StartInfo.ErrorDialog = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.WorkingDirectory = Path.GetDirectoryName(ti.ExeFile);
process.StartInfo.UseShellExecute = false;
process.StartInfo.Arguments = string.Format(@"--min-width=1024 --delay=1500 --javascript=off --auto-load-images=on --plugins=off --java=off --url={0} --out={1}"
, ti.Url
, destFile
);
process.Start();
process.WaitForExit();
process.Close();
}
CutyCapt を w3wp から動作させる方法を知っている人はいますか?