Tomar una captura de pantalla de una página web mediante programación [cerrada]

¿Cómo hacer una captura de pantalla de una página web programáticamente dada la URL como entrada?

Y esto es lo que tengo hasta ahora:

// The size of the browser window when we want to take the screenshot (and the size of the resulting bitmap)
Bitmap bitmap = new Bitmap(1024, 768);
Rectangle bitmapRect = new Rectangle(0, 0, 1024, 768);
// This is a method of the WebBrowser control, and the most important part
webBrowser1.DrawToBitmap(bitmap, bitmapRect);

// Generate a thumbnail of the screenshot (optional)
System.Drawing.Image origImage = bitmap;
System.Drawing.Image origThumbnail = new Bitmap(120, 90, origImage.PixelFormat);

Graphics oGraphic = Graphics.FromImage(origThumbnail);
oGraphic.CompositingQuality = CompositingQuality.HighQuality;
oGraphic.SmoothingMode = SmoothingMode.HighQuality;
oGraphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
Rectangle oRectangle = new Rectangle(0, 0, 120, 90);
oGraphic.DrawImage(origImage, oRectangle);

// Save the file in PNG format
origThumbnail.Save(@"d:\Screenshot.png", ImageFormat.Png);
origImage.Dispose();

Pero esto no está funcionando. Solo me está dando una imagen en blanco. ¿Que me estoy perdiendo aqui?

¿Hay alguna otra forma de obtener la captura de pantalla de una página web mediante programación?

Respuestas a la pregunta(4)

Su respuesta a la pregunta