Użyłem następującego kodu:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Gecko;
namespace TesT
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Gecko.Xpcom.Initialize(@"D:\Programy\Gecko\Browser");
}
private void Form1_Load(object sender, EventArgs e)
{
geckoWebBrowser1.Navigate("https://www.google.com");
}
private void button1_Click(object sender, EventArgs e)
{
Bitmap bitmap = new Bitmap(geckoWebBrowser1.Width, geckoWebBrowser1.Height);
try
{
geckoWebBrowser1.DrawToBitmap(bitmap, new Rectangle(0, 0, geckoWebBrowser1.Width, geckoWebBrowser1.Height));
bitmap.Save("d:/aaa.png");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
Po przycisnięciu buttona program się zamyka, nie robiąc screena + nie wyświetlając żadnego błędu. Gdy przycisnę guzik odpowiednio szybko zanim strona się całkowicie załaduje, zdjecie zostaje zapisane i program się nie zamyka. Na screenie wtedy widać nie w pełni załadowane części strony.
Korzystam z:
Windows 8.1
xulrunner 33.0.2: http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/33.0.2
geckofx 33.0-0.2: https://bitbucket.org/geckofx/geckofx-33.0/downloads