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 informationVisual Basic | Copy 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 { } } |
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.
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7