Я надеюсь, что кто-то сталкивался с этим - я пытаюсь захватить изображения со сканера документов с помощью WIA, однако на случайных машинах при попытке передать результат изображения - WIA сообщает "Файл существует. - HRESULT: 0x80070050)».На всех машинах с этой проблемой первоначальное использование программного обеспечения прошло успешно.
Я могу успешно подключиться к сканеру, запросить имя, производителя и т. Д.
Я определил, что могу успешно сканировать изображение, если я запускаю код под альтернативнымучетная запись пользователя (используя правую кнопку запуска от имени администратора).Однако выполнение кода под той же учетной записью пользователя с повышенными привилегиями приводит к той же ошибке.
ПРИМЕЧАНИЕ. Исключение происходит в Item1.Transfer - так что до этого момента я еще не предоставил WIA файлпуть, поэтому это не может быть файл, на который он ссылается.
WIA.DeviceManager DeviceManager1 = new WIA.DeviceManagerClass();
WIA.Device Scanner = DeviceManager1.DeviceInfos[i].Connect();
WIA.Item Item1 = null;
foreach (WIA.Item CurrentItem in Scanner.Items) {
Item1 = CurrentItem;
break;
}
WIA.ImageFile Image1 = new WIA.ImageFile();
//Attempt To Capture Scan
Image1 = (WIA.ImageFile)Item1.Transfer(WIA.FormatID.wiaFormatJPEG);
//Save To File
Image1.SaveFile(Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + @"\scan" + DateTime.Now.Ticks + ".jpg");
Наиболее логичный ответ заключается в том, что WIA хранит временный файл во время захвата изображения - о чем я не знаю - и этоневозможно переписать предыдущее сканирование.Кто-нибудь знает, где это может быть?