Я пытаюсь использовать WIA (Microsoft Windows Image Acquisition Library v2.0) для создания приложения C # 3.5 WinForms в VS2008, работающего на Vista, для получения изображений со сканера.
Я знаю, что существует множество SDK, которые делают это (Accusoft, ByteScout, Knowledge Lake и т. Д.), Но мы хотели получить некоторый контроль над пользовательским интерфейсом (или его отсутствие) и возможность настраивать обработку и обработку изображений Именно поэтому мы пробуем угол WIA.
Однако мне не удалось заставить WIA «увидеть» мой сканер.
В проекте VS упоминается библиотека Microsoft Windows Image Acquisition v2.0, и я включил «использование WIA»; вверху страницы.
Вот раздел кода:
//Choose Scanner
CommonDialogClass class1 = new CommonDialogClass();
Device d = class1.ShowSelectDevice(WiaDeviceType.UnspecifiedDeviceType, true, false);
if (d != null)
{
this.DeviceID = d.DeviceID;
}
else
{
//no scanner chosen
return;
}
Хорошо соответствует, но строка 2 ( Устройство d = ... ) выдает следующую ошибку при запуске:
Исключение из HRESULT: 0x80210015
Из того, что я могу сказать, это обычно означает, что ваше устройство отключено от сети / не включено или устройство не совместимо с WIA.
Но рассматриваемый сканер отображается на панели управления / сканерах и камерах (означает, что он совместим с WIA) и работает при доступе через Photoshop (означает, что он включен).
Я подключил другие устройства (цифровая зеркальная фотокамера), и приведенный выше код может «видеть» их, поэтому код работает.
У кого-нибудь есть предложения относительно того, что идет не так и как это исправить?
Обновление 1 :
Я пробовал пару разных сканеров (Canon 5000F, Benq 5250C), но та же проблема.
Обновление 2 :
Мне не удалось найти однозначного доказательства этого, но я думаю, что сканеры, которые я тестировал, или, может быть, большинство сканеров :(, не совместимы и не поддерживаются WIA. Сейчас я изучаю использование TWAIN, но все равно хотел бы услышать о любом, кто имел некоторый успех с WIA.
Обновление 3 :
Закончил канаву WIA и использование .NET Twain SDK (EZTwain). Все отсортировано сейчас. Спасибо всем за их вклад.