0

Possible Duplicate:
Programmatically get screenshot of page

I am working on a small desktop program in winapi

  1. What I want is that the application will have textbox with some buttons. User can type a string in the text box and hit the search button.

  2. After that the program will search that string on google and will save the search result page as an image file , all this will be done in the background with no new windows opening.

And please comment if this can be done easily in some other programming language like VB or C# or MFC

Community
  • 1
  • 1

1 Answers1

0
string filename = Application.StartupPath + "\\abc.Png";
        int width = -1;
        int height = -1;

        WebBrowser wb = new WebBrowser();
        wb.ScriptErrorsSuppressed = true;
        wb.Navigate("http://www.google.com/search?q=" + txtSearch.Text);
        while (wb.ReadyState != WebBrowserReadyState.Complete)
        {
            Application.DoEvents();
        }


        // Set the size of the WebBrowser control
        wb.Width = width;
        wb.Height = height;

        if (width == -1)
        {
            // Take Screenshot of the web pages full width
            wb.Width = wb.Document.Body.ScrollRectangle.Width;
        }

        if (height == -1)
        {
            // Take Screenshot of the web pages full height
            wb.Height = wb.Document.Body.ScrollRectangle.Height;
        }

        // Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control
        Bitmap bitmap = new Bitmap(wb.Width, wb.Height);
        wb.DrawToBitmap(bitmap, new Rectangle(0, 0, wb.Width, wb.Height));
        wb.Dispose();

        bitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Png);
        MessageBox.Show("Image Saved");
andy
  • 5,979
  • 2
  • 27
  • 49