LEADTOOLS Screen Capture (Leadtools.ScreenCapture assembly)
LEAD Technologies, Inc

ScreenCaptureException Class

Example 





Members 
The exception that is thrown when a LEADTOOLS ScreenCapture error occurs.
Object Model
ScreenCaptureException Class
Syntax
'Declaration
 
<SerializableAttribute()>
Public Class ScreenCaptureException 
   Inherits Leadtools.LeadtoolsException
   Implements System.Runtime.InteropServices._ExceptionSystem.Runtime.Serialization.ISerializable 
'Usage
 
Dim instance As ScreenCaptureException
public sealed class ScreenCaptureException : System.Runtime.InteropServices._Exception~Remove~  
function Leadtools.ScreenCapture.ScreenCaptureException()
Example
 
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
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";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

ScreenCaptureException Members
Leadtools.ScreenCapture Namespace
Implementing Screen Capture
ScreenCaptureEngine Class
ScreenCaptureInformation Class
ScreenCaptureInformationEventArgs Class
ScreenCaptureOptions Structure
ScreenCaptureAreaOptions Structure
ScreenCaptureObjectOptions Structure

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.