Capture d'écran de la zone cible de l'ordinateur de bureau

Je suis en train de recréer un Winform application en C# qui a les mêmes fonctionnalités que l'outil capture windows. C'est, en permettant à l'utilisateur de faire glisser un rectangle au-dessus du bureau et de la capture de ce que jamais est à l'intérieur d'une image.

Pour le moment je n'ai que la possibilité de dessiner un rectangle avec la souris, et dans la winform. Quelqu'un peut-il m'indiquer la direction de la façon de le faire afin que je puisse le faire à l'intérieur de l'ensemble du bureau?

Mon code pour tracer le rectangle est comme suit:

 Rectangle rect; 
    public Form1()
    {
        InitializeComponent();

        //set the cursor to be a + sign
        this.Cursor = System.Windows.Forms.Cursors.Cross;
        this.DoubleBuffered = true;
    }

    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
        //e.X and e.Y are used to get the X and Y pos of the mouse
        rect = new Rectangle(e.X, e.Y, 0, 0);
        this.Invalidate();
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {
            //draw rectangle as mouse moves
            rect = new Rectangle(rect.Left,rect.Top, e.X - rect.Left, e.Y - rect.Top);
        }
        this.Invalidate();
    }

    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        //Replace "Color.Red" with any color and repalce "2" with any size you like.
        using (Pen pen = new Pen(Color.Red, 2))
        {
            e.Graphics.DrawRectangle(pen, rect);
        }
    }
}

J'ai été en regardant autour en ligne, mais mes recherches n'ont pas fourni de quoi que ce soit de l'utiliser encore.

Toute aide serait grandement appréciée.

InformationsquelleAutor Sean | 2013-08-19