У меня есть следующий код для создания скриншота, но единственная проблема, с которой я сталкиваюсь, это то, что он открывает командную строку и заставляет пользователя закрыть ее, могу ли я скрыть / удалить эту командную строку?
private const int TIMEOUT = 30000;
private const string TMP_NAME = "TMP_SHOT1.png";
protected void Page_Load(object sender, EventArgs e)
{
theImage.ImageUrl = GetImage("http://www.google.com", "MyImage",
Server.MapPath("~"),
Convert.ToInt32("400"),
Convert.ToInt32("400")
);
}
public string GetImage(string url, string name,
string rootDir, int width, int height)
{
try
{
string fileName = rootDir + "\\" + TMP_NAME;
GenerateScreenShot1(url, rootDir);
System.Drawing.Image thumbImage =
System.Drawing.Image.FromFile(fileName);
fileName = rootDir + "\\" + name + ".png";
if (File.Exists(fileName))
File.Delete(fileName);
thumbImage.Save(fileName, ImageFormat.Png);
return name + ".png";
}
catch (Exception ex)
{
return null;
}
}
public void GenerateScreenShot1(string url1, string rootDir1)
{
string arguments = url1 + " " + rootDir1 + "\\" + TMP_NAME;
Process myProcess = new Process();
myProcess.EnableRaisingEvents = false;
myProcess.StartInfo.RedirectStandardOutput = false;
myProcess.StartInfo.CreateNoWindow = false;
myProcess.StartInfo.UseShellExecute = true;
myProcess.StartInfo.FileName = rootDir1 + "\\" + "IECapt.exe";
myProcess.StartInfo.Arguments = arguments;
myProcess.Start();
myProcess.WaitForExit();
myProcess.Close();
myProcess.Dispose();
}
Для запуска приведенного выше кода вам нужно поместить IECapt.exe в корневую папку.