Determines which version of the WIA source is installed.
Syntax
Parameters
- version
- The WIA version to be used. Possible values are:
Return Value
true if at least one WIA source of the specified version is installed, false if no WIA source
is installed that supports the specified WIA version.
Example
Visual Basic | Copy Code |
---|
<Test> _
Public Sub IsAvailableExample(ByVal parent As IWin32Window)
If (Not WiaSession.IsAvailable(WiaVersion.Version1)) Then
MessageBox.Show("WIA version 1.0 not installed.")
Return
End If
Dim session As WiaSession = New WiaSession()
session.Startup(WiaVersion.Version1)
Dim res As DialogResult = session.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault)
If res <> DialogResult.OK Then
MessageBox.Show("Error selecting WIA device.")
session.Shutdown()
Return
End If
Dim wiaAcquireOptions As WiaAcquireOptions = wiaAcquireOptions.Empty
wiaAcquireOptions.MemoryBufferSize = 32 * 1024
wiaAcquireOptions.DoubleBuffer = True
session.AcquireOptions = wiaAcquireOptions
AddHandler session.AcquireEvent, AddressOf session_AcquireEvent
session.Acquire(parent, Nothing, WiaAcquireFlags.ShowUserInterface Or WiaAcquireFlags.UseCommonUI)
RemoveHandler session.AcquireEvent, AddressOf session_AcquireEvent
session.Shutdown()
End Sub
Public Sub session_AcquireEvent(ByVal sender As Object, ByVal e As WiaAcquireEventArgs)
Application.DoEvents()
If (e.Flags And WiaAcquiredPageFlags.StartOfPage) = WiaAcquiredPageFlags.StartOfPage Then
Console.WriteLine("Beginning of data transfer.")
ElseIf (e.Flags And WiaAcquiredPageFlags.EndOfPage) = WiaAcquiredPageFlags.EndOfPage Then
Console.WriteLine("End of data transfer.")
End If
If Not e.Image Is Nothing Then
End If
e.Cancel = False
End Sub |
C# | Copy Code |
---|
public void IsAvailableExample(IWin32Window parent) { if ( !WiaSession.IsAvailable(WiaVersion.Version1) ) { MessageBox.Show("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) { MessageBox.Show("Error selecting WIA device."); wiaSession.Shutdown(); return; } // Initialize and fill the required fields from the WiaAcquireOptions structure WiaAcquireOptions 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; } |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows 2000, Windows XP, Windows Vista, Windows Server 2003 family, Windows Server 2008 family
See Also