/// <summary>
        /// This method will use User32 code to capture the specified captureBounds from the screen
        /// </summary>
        /// <param name="capture">ICapture where the captured Bitmap will be stored</param>
        /// <param name="captureBounds">Rectangle with the bounds to capture</param>
        /// <returns>A Capture Object with a part of the Screen as an Image</returns>
        public static ICapture CaptureRectangle(ICapture capture, Rectangle captureBounds)
        {
            if (capture == null)
            {
                capture = new Capture();
            }
            Image capturedImage = null;

            // If the CaptureHandler has a handle use this, otherwise use the CaptureRectangle here
            if (CaptureHandler.CaptureScreenRectangle != null)
            {
                try {
                    capturedImage = CaptureHandler.CaptureScreenRectangle(captureBounds);
                } catch {
                }
            }
            // If no capture, use the normal screen capture
            if (capturedImage == null)
            {
                capturedImage = CaptureRectangle(captureBounds);
            }
            capture.Image    = capturedImage;
            capture.Location = captureBounds.Location;
            return(capture.Image == null ? null : capture);
        }