GetDeviceEventData Method

Summary
Gets information for specific device event.
Syntax
C#
VB
C++
public TwainDeviceEvent GetDeviceEventData() 
Public Function GetDeviceEventData() As TwainDeviceEvent 
public: 
TwainDeviceEvent^ GetDeviceEventData();  

Return Value

A TwainDeviceEvent object that represents device event information

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.

Example
C#
VB
using Leadtools; 
using Leadtools.Twain; 
 
TwainSession session = new TwainSession(); 
 
public void GetDeviceEventDataExample(IntPtr 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 
   { } 
} 
Imports Leadtools 
Imports Leadtools.Twain 
 
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 IntPtr) 
   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 
Requirements

Target Platforms

Help Version 21.0.2021.6.30
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Twain Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.