Как использовать 32-битный TWAIN-драйвер в 64-битном приложении?
В этом разделе
К сожалению, 32-битный TWAIN-драйвер может быть доступен только из 32-битного приложения. Для решения этой проблемы SDK использует 32-битное приложение VintasoftTwainService.exe в качестве моста между 64-битным приложением и 32-битным TWAIN драйвером.
Важно: VintasoftTwainService.exe необходим только в том случае, если вы хотите работать с 32-битным TWAIN драйвером из 64-битного приложения.
Свойство Vintasoft.Twain.DeviceManager.VintasoftTwainServiceExePath позволяет получить/установить путь к каталогу, в котором находится служба VintaSoft TWAIN (VintasoftTwainService.exe). По умолчанию VintasoftTwainService.exe должен быть расположен в каталоге приложения.
Свойство Vintasoft.Twain.DeviceManager.VintasoftTwainServiceDataPath позволяет получить/установить путь к каталогу, в котором должны сохраняться данные службы VintaSoft TWAIN. По умолчанию данные сервиса хранятся в локальном каталоге temp текущего пользователя.
Вот пример, который демонстрирует, как использовать 32-битные TWAIN-драйверы в 64-битном приложении:
/// <summary>
/// Shows a list of 32-bit TWAIN drivers in 64-bit application.
/// </summary>
/// <remarks>
/// This code must be used in 64-bit application.
/// </remarks>
void Use32BitTwainDriversIn64BitApplication()
{
// create the device manager
using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
{
// specify that TWAIN device manager 2.x must be used
deviceManager.IsTwain2Compatible = true;
// specify that 64-bit TWAIN device manager 2.x must use 32-bit devices
deviceManager.Use32BitDevices();
// open the device manager
deviceManager.Open();
// show a dialog for selecting 32-bit TWAIN driver
deviceManager.ShowDefaultDeviceSelectionDialog();
}
}
''' <summary>
''' Shows a list of 32-bit TWAIN drivers in 64-bit application.
''' </summary>
''' <remarks>
''' This code must be used in 64-bit application.
''' </remarks>
Private Sub Use32BitTwainDriversIn64BitApplication()
' create the device manager
Using deviceManager As New Vintasoft.Twain.DeviceManager()
' specify that TWAIN device manager 2.x must be used
deviceManager.IsTwain2Compatible = True
' specify that 64-bit TWAIN device manager 2.x must use 32-bit devices
deviceManager.Use32BitDevices()
' open the device manager
deviceManager.Open()
' show a dialog for selecting 32-bit TWAIN driver
deviceManager.ShowDefaultDeviceSelectionDialog()
End Using
End Sub