public class TwainDeviceEvent
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
{ }
}