Leadtools.Twain Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
GetDeviceEventData Method
See Also  Example
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 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also