У меня есть старая программа, которую я использовал для удаленного управления цифровой камерой, чтобы автоматически делать фотографии и передавать их на ПК. Программа основана на WIA и, насколько я помню, изначально была разработана и использовалась на Windows XP.
Недавно вынул его из архивов и пытался заставить его работать на 64-битной Windows 7, используя ту же камеру. Нахождение камеры и запуск захвата работает без проблем. Однако при выполнении этой строки:
//device of type WIA.Device
Item item = device.ExecuteCommand(CommandID.wiaCommandTakePicture);
null возвращается, оставляя меня без ссылки на изображение для передачи. Искал решение все выше и ниже, но не смог ничего найти. Нашел другой сайт QA, где в ответе предлагалось использовать:
//manager of type WIA.DeviceManager, device of type WIA.Device
manager.RegisterEvent(EventID.wiaEventItemCreated, device.DeviceID);
manager.OnEvent += new _IDeviceManagerEvents_OnEventEventHandler(manager_OnEvent);
можно получить события, содержащие itemID после захвата изображения. Попробовал это, и ни одно событие не было возбуждено.