Leadtools TWAIN (Leadtools.Twain assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
GetDeviceEventData Method
See Also 
Leadtools.Twain Namespace > TwainSession Class : GetDeviceEventData Method



Gets information for specific device event

Syntax

Visual Basic (Declaration) 
Public Function GetDeviceEventData() As TwainDeviceEvent
Visual Basic (Usage)Copy Code
Dim instance As TwainSession
Dim value As TwainDeviceEvent
 
value = instance.GetDeviceEventData()
C# 
public TwainDeviceEvent GetDeviceEventData()
C++/CLI 
public:
TwainDeviceEvent^ GetDeviceEventData(); 

Return Value

A TwainDeviceEvent object that represents device event information

Example

Visual BasicCopy Code
Public WithEvents session As TwainSession = New TwainSession()
Private Sub session_GetDeviceEvent(ByVal sender As Object, ByVal e As System.EventArgs) Handles session.GetDeviceEvent
   Try
      Dim deviceEvent As TwainDeviceEvent = session.GetDeviceEventData()
      Dim msg As String = String.Format("Event ={0}{1}Event Name ={2}", deviceEvent.Event, Chr(13), deviceEvent.DeviceName)
      MessageBox.Show(msg)

      If deviceEvent.Event = TwainCapabilityValue.DeviceEventCheckBattery Then
         msg = String.Format("Battery Minutes ={0}{1}Battery Percentage ={2}", deviceEvent.BatteryMinutes, Chr(13), deviceEvent.BatteryPercentage)
         MessageBox.Show(msg)
      ElseIf deviceEvent.Event = TwainCapabilityValue.DeviceEventCheckPowerSupply Then
         msg = String.Format("Power Supply ={0}", deviceEvent.PowerSupply)
         MessageBox.Show(msg)
      ElseIf deviceEvent.Event = TwainCapabilityValue.DeviceEventCheckPowerSupply Then
         msg = String.Format("XResolution ={0}{1}YResolution ={2}", deviceEvent.XResolution, Chr(13), deviceEvent.YResolution)
         MessageBox.Show(msg)
      ElseIf deviceEvent.Event = TwainCapabilityValue.DeviceEventCheckFlash Then
         msg = String.Format("FlashUsed2 ={0}", deviceEvent.FlashUsed2)
         MessageBox.Show(msg)
      ElseIf deviceEvent.Event = TwainCapabilityValue.DeviceEventCheckAutomaticCapture Then
         msg = String.Format("Automatic Capture ={0}{1}Time Before First Capture ={2}{3}Time Between Captures = {4}", deviceEvent.AutomaticCapture, Chr(13), deviceEvent.TimeBeforeFirstCapture, Chr(13), deviceEvent.TimeBetweenCaptures)
         MessageBox.Show(msg)
      End If
   Catch
   End Try
End Sub

Public Sub GetDeviceEventDataExample(ByVal parent As IWin32Window)
   Try
      session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None)

      AddHandler session.GetDeviceEvent, AddressOf session_GetDeviceEvent
      session.EnableGetDeviceEvent = True

      session.Acquire(TwainUserInterfaceFlags.Show)
      session.Shutdown()
   Catch
   End Try
End Sub
C#Copy Code
TwainSession session = new TwainSession();

public void GetDeviceEventDataExample(IWin32Window parent)
{
   try
   {
      session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None);
      session.GetDeviceEvent += new EventHandler<EventArgs>(session_GetDeviceEvent);
      session.EnableGetDeviceEvent = true;

      session.Acquire(TwainUserInterfaceFlags.Show);
      session.Shutdown();
   }
   catch
   { }
}

void session_GetDeviceEvent(object sender, EventArgs e)
{
   try
   {
      TwainDeviceEvent deviceEvent = session.GetDeviceEventData();
      string msg = string.Format("Event ={0}\nEvent Name ={1}\n", deviceEvent.Event, deviceEvent.DeviceName);
      MessageBox.Show(msg);

      if (deviceEvent.Event == TwainCapabilityValue.DeviceEventCheckBattery)
      {
         msg = string.Format("Battery Minutes ={0}\nBattery Percentage ={1}\n", deviceEvent.BatteryMinutes, deviceEvent.BatteryPercentage);
         MessageBox.Show(msg);
      }
      else if (deviceEvent.Event == TwainCapabilityValue.DeviceEventCheckPowerSupply)
      {
         msg = string.Format("Power Supply ={0}\n", deviceEvent.PowerSupply);
         MessageBox.Show(msg);
      }
      else if (deviceEvent.Event == TwainCapabilityValue.DeviceEventCheckPowerSupply)
      {
         msg = string.Format("XResolution ={0}\nYResolution ={1}\n", deviceEvent.XResolution, deviceEvent.YResolution);
         MessageBox.Show(msg);
      }
      else if (deviceEvent.Event == TwainCapabilityValue.DeviceEventCheckFlash)
      {
         msg = string.Format("FlashUsed2 ={0}\n", deviceEvent.FlashUsed2);
         MessageBox.Show(msg);
      }
      else if (deviceEvent.Event == TwainCapabilityValue.DeviceEventCheckAutomaticCapture)
      {
         msg = string.Format("Automatic Capture ={0}\nTime Before First Capture ={1}\nTime Between Captures = {2}\n", deviceEvent.AutomaticCapture, deviceEvent.TimeBeforeFirstCapture, deviceEvent.TimeBetweenCaptures);
         MessageBox.Show(msg);
      }
   }
   catch
   { }
}

Remarks

This method will returns information for specific device event. To get status for each device event, set EnableGetDeviceEvent property to TRUE to enable firing GetDeviceEvent event To get CAP_DEVICEEVENT capability values, call GetDeviceEventCapability method, and to set CAP_DEVICEEVENT capability call SetDeviceEventCapability method, also call ResetDeviceEventCapability method to reset CAP_DEVICEEVENT capability.\

This method should be called inside GetDeviceEvent event to get the device event information.

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