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