public void Shutdown() A WIA session is begun by calling the Startup method. For each call to the Startup method there must be a call to the Shutdown method. For more information, refer to Freeing the WIA Session.
using Leadtools;using Leadtools.Codecs;using Leadtools.Wia;public void IsAvailableExample(IntPtr parent){if (!WiaSession.IsAvailable(WiaVersion.Version1)){Console.WriteLine("WIA version 1.0 not installed.");return;}WiaSession wiaSession = new WiaSession();wiaSession.Startup(WiaVersion.Version1);DialogResult res = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault);if (res != DialogResult.OK){Console.WriteLine("Error selecting WIA device.");wiaSession.Shutdown();return;}// Initialize and fill the required fields from the WiaAcquireOptions structureWiaAcquireOptions wiaAcquireOptions = WiaAcquireOptions.Empty;wiaAcquireOptions.MemoryBufferSize = 32 * 1024;wiaAcquireOptions.DoubleBuffer = true;wiaSession.AcquireOptions = wiaAcquireOptions;wiaSession.AcquireEvent += new EventHandler<WiaAcquireEventArgs>(wiaSession_AcquireEvent);wiaSession.Acquire(parent, null, WiaAcquireFlags.ShowUserInterface | WiaAcquireFlags.UseCommonUI);wiaSession.AcquireEvent -= new EventHandler<WiaAcquireEventArgs>(wiaSession_AcquireEvent);wiaSession.Shutdown();}public void wiaSession_AcquireEvent(object sender, WiaAcquireEventArgs e){Application.DoEvents();if ((e.Flags & WiaAcquiredPageFlags.StartOfPage) == WiaAcquiredPageFlags.StartOfPage)Console.WriteLine("Beginning of data transfer.");else if ((e.Flags & WiaAcquiredPageFlags.EndOfPage) == WiaAcquiredPageFlags.EndOfPage)Console.WriteLine("End of data transfer.");if (e.Image != null){// You can load the image here.}e.Cancel = false;}