Я пытаюсь использовать WIA (Microsoft Windows Image Acquisition Library v2.0) для создания приложения WinForms С# 3.5 в VS2008, работающего на Vista для размещения изображений со сканера.
Я знаю, что есть много SDK, которые делают это (Accusoft, ByteScout, Knowledge Lake и т.д.), но нам нужен некоторый контроль над пользовательским интерфейсом (или отсутствием) и возможность настраивать обработку и обработку изображений, поэтому мы пытаемся использовать угол WIA.
Однако мне не удалось заставить WIA "видеть" мой сканер.
В проекте VS ссылается dll DLL-библиотеки Microsoft Windows Image Acquisition Library v2.0, и я включил 'using 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 (означает, что он включен).
Я подключил другие устройства (Digital SLR), и приведенный выше код может "видеть" их, поэтому код работает.
Есть ли у кого-нибудь какие-либо предложения относительно того, что происходит не так и как его исправить?
Обновление 1:
Я попробовал несколько разных сканеров (Canon 5000F, Benq 5250C), но та же проблема.
Обновление 2:
Я не смог найти окончательного доказательства этого, но я думаю, что сканеры, которые я тестировал, или, возможно, большинство сканеров:(, не поддерживаются WIA/поддерживаются. Я теперь изучаю TWAIN, но все равно хотел бы услышать о тех, кто имел успех с WIA.
Обновление 3: Закончилось переключение WIA и использование .NET Twain SDK (EZTwain). Все отсортировано сейчас. Спасибо всем за вклад.