Vb.net 如何在Twain UI中关闭设备
我有目前的问题。使用Twain UI,如果单击“取消”,则不会出现捕获异常,也不会关闭设备。如果我再次打开UI并单击“扫描”,它将不允许我打开设备,它将保持关闭状态,当前例外情况为:设备未打开错误代码:11Vb.net 如何在Twain UI中关闭设备,vb.net,twain,Vb.net,Twain,我有目前的问题。使用Twain UI,如果单击“取消”,则不会出现捕获异常,也不会关闭设备。如果我再次打开UI并单击“扫描”,它将不允许我打开设备,它将保持关闭状态,当前例外情况为:设备未打开错误代码:11 Public Sub AcquireImage() OpenDeviceManager() Dim device As Vintasoft.Twain.Device = devManager.Devices.Find("KODAK Scanner: i1150/i11
Public Sub AcquireImage()
OpenDeviceManager()
Dim device As Vintasoft.Twain.Device = devManager.Devices.Find("KODAK Scanner: i1150/i1180")
Try
snCount = 0
imgCount = 0
device.ShowUI = True
device.Open() ''PROBLEM IS HERE
device.PixelType = PixelType.Gray
device.Acquire()
AddHandler device.ImageAcquired, AddressOf device_ImageAcquired
AddHandler device.ScanCompleted, AddressOf device_ScanCompleted
AddHandler device.ScanCanceled, AddressOf device_ScanCanceled
AddHandler device.ScanFailed, AddressOf device_ScanFailed
device.DisableAfterAcquire = True
Catch ex As TwainException
MessageBox.Show(ex.Message) '' Device is not opened Error code: 11
CloseDevice(device)
device.Disable()
Return
End Try
End Sub
我可以扫描任意次数,但我希望在UI上使用“取消”,设备状态不会更改值。我通过添加设备的添加和删除处理程序解决了问题。UserInterfaceClosed。
Private Sub AcquireImage()
SetFormUiState(False)
OpenDeviceManager()
Dim device As Vintasoft.Twain.Device = devManager.Devices.Find("KODAK Scanner: i1150/i1180")
Try
AddHandler device.ImageAcquired, AddressOf device_ImageAcquired
AddHandler device.ScanCompleted, AddressOf device_ScanCompleted
AddHandler device.ScanCanceled, AddressOf device_ScanCanceled
AddHandler device.ScanFailed, AddressOf device_ScanFailed
**AddHandler device.UserInterfaceClosed, AddressOf device_UserInterfaceClosed**
snCount = 0
imgCount = 0
device.Open()
device.ShowUI = True
device.PixelType = PixelType.Gray
device.Acquire()
device.DisableAfterAcquire = True
Catch ex As TwainException
MessageBox.Show(ex.Message)
SetFormUiState(True)
CloseDevice(device)
Return
End Try
End Sub