Я пытаюсь определить сканеры, прикрепленные к компьютеру. Одним из возможных решений является использование WIA (Библиотека автоматизации сбора изображений Windows).WIA.DeviceManager.DeviceInfos.Count = 0. Почему?
Это были мои действия до сих пор:
- Скачать wiaaut.dll
- Скопируйте его в system32
- Зарегистрируйте с "regsvr32 wiaaut.dll" (успешно)
- Добавить ссылку на мой проект в Visual Studio.NET
- Убедитесь, что служба Windows Image Acquisition (WIA) запущена
Далее я добавляю и отлаживать следующий код:
WIA.DeviceManager manager = new WIA.DeviceManagerClass();
string deviceName = "";
foreach (WIA.DeviceInfo info in manager.DeviceInfos)
{
if (info.Type == WIA.WiaDeviceType.ScannerDeviceType)
{
foreach (WIA.Property p in info.Properties)
{
if (p.Name == "Name")
{
deviceName = ((WIA.IProperty)p).get_Value().ToString();
Console.WriteLine(deviceName);
}
}
}
}
Однако manager.DeviceInfos всегда пусто. У меня есть 2 сканера, один из них отображается в Панели управления -> Сканеры и камеры, а другой нет, и оба отображаются в разделе «Устройства отображения» в диспетчере устройств.
Любое предложение о том, почему в WIA.DeviceManager.DeviceInfos отсутствуют какие-либо предложения?
Запуск на Windows XP с пакетом обновления 2
У меня такая же проблема - вы нашли решение для этого? –