LEADTOOLS Screen Capture (Leadtools.ScreenCapture assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
ScreenCaptureException Class
See Also  Members  
Leadtools.ScreenCapture Namespace : ScreenCaptureException Class



The exception that is thrown when a LEADTOOLS ScreenCapture error occurs.

Object Model

ScreenCaptureException Class

Syntax

Visual Basic (Declaration) 
<SerializableAttribute()>
Public Class ScreenCaptureException 
   Inherits Leadtools.LeadtoolsException
   Implements _ExceptionISerializable 
Visual Basic (Usage)Copy Code
Dim instance As ScreenCaptureException
C# 
[SerializableAttribute()]
public class ScreenCaptureException : Leadtools.LeadtoolsException, _ExceptionISerializable  
C++/CLI 
[SerializableAttribute()]
public ref class ScreenCaptureException : public Leadtools.LeadtoolsException, _ExceptionISerializable  

Example

Visual BasicCopy Code
Public Sub scEngine_CaptureInformation(ByVal sender As Object, ByVal e As ScreenCaptureInformationEventArgs) Handles scEngine.CaptureInformation
     ' Define codecs class object to save the image
     Dim codecs As New RasterCodecs()
     codecs.ThrowExceptionsOnInvalidImages = True

     ' Save the resulted Image
   codecs.Save(e.Image, Path.Combine(LEAD_VARS.ImagesDir, "CapturedImage.bmp"), RasterImageFormat.Bmp, 24)


   ' NOTE: e.Information is a ScreenCaptureInformation structure filled with information
   ' about the captured image, this information can be used here
   ' Display a MessageBox with the bounds of the capture area
   MessageBox.Show("Captured Area Bounds:" & Environment.NewLine & "Top:" & e.Information.Area.Top.ToString() & Environment.NewLine & "Left:" & e.Information.Area.Left.ToString() & Environment.NewLine & "Right:" + e.Information.Area.Right.ToString() & Environment.NewLine & "Bottom:" & e.Information.Area.Bottom.ToString())

   ' everything worked fine
   e.Cancel = False
End Sub

WithEvents scEngine As ScreenCaptureEngine

Public Sub ScreenCaptureExceptionExample()
   ScreenCaptureEngine.Startup()
   Dim captureInformation As ScreenCaptureInformation = Nothing
   scEngine = New ScreenCaptureEngine()

   Try
      MessageBox.Show("After you close this message box," & Environment.NewLine & "press F11 to capture the wallpaper.")
      Dim image As RasterImage = scEngine.CaptureWallpaper(captureInformation)
   Catch ex As ScreenCaptureException
      ' LEADTOOLS ScreenCapture Error
      MessageBox.Show(String.Format("Could not capture wallpaper.{0}ScreenCapture error code: {1}{0}Message: {2}", Environment.NewLine, ex.Code, ex.Message))
   Catch ex As Exception
      ' Other errors
      MessageBox.Show(String.Format("Could not capture wallpaper.{0}{1}", Environment.NewLine, ex.Message))
   End Try
   ScreenCaptureEngine.Shutdown()
End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
void scEngine_CaptureInformation(object sender, ScreenCaptureInformationEventArgs e)
   {
      // Make sure that the image was captured successfully
      Debug.Assert(e.Image != null);
      // Define codecs class object to save the image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      // Save the resulted Image
      codecs.Save(e.Image,Path.Combine(LEAD_VARS.ImagesDir,"Out_CapturedImage.bmp"), RasterImageFormat.Bmp, 24);


      // NOTE: e.Information is a ScreenCaptureInformation structure filled with information
      // about the captured image, this information can be used here
      // Display a MessageBox with the bounds of the capture area
      MessageBox.Show("Captured Area Bounds:\n" +
         "Top:" + e.Information.Area.Top.ToString() + "\n" +
         "Left:" + e.Information.Area.Left.ToString() + "\n" +
         "Right:" + e.Information.Area.Right.ToString() + "\n" +
         "Bottom:" + e.Information.Area.Bottom.ToString());

      // everything worked fine
      e.Cancel = false;
   }


   public void ScreenCaptureExceptionExample()
   {
      ScreenCaptureEngine.Startup();
      ScreenCaptureEngine scEngine = new ScreenCaptureEngine();
      ScreenCaptureInformation captureInformation = null;
      scEngine.CaptureInformation += new EventHandler<ScreenCaptureInformationEventArgs>(scEngine_CaptureInformation);

      try
      {
         MessageBox.Show("After you close this message box,\npress F11 to capture the wallpaper.");
         RasterImage image = scEngine.CaptureWallpaper(captureInformation);
      }
      catch (ScreenCaptureException ex)
      {
         //LEADTOOLS ScreenCapture Error
         MessageBox.Show(string.Format("Could not capture wallpaper.{0}ScreenCapture error code: {1}{0}Message: {2}", Environment.NewLine, ex.Code, ex.Message));
      }
      catch (Exception ex)
      {
         // Other errors
         MessageBox.Show(string.Format("Could not capture wallpaper.{0}{1}", Environment.NewLine, ex.Message));
      }
      ScreenCaptureEngine.Shutdown();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Inheritance Hierarchy

System.Object
   System.Exception
      Leadtools.LeadtoolsException
         Leadtools.ScreenCapture.ScreenCaptureException

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also