我希望有人遇到过这种情况 - 我试图使用WIA从文档扫描仪捕获图像,但是在随机机器上尝试传输图像结果时 - WIA报告“该文件存在。 - HRESULT:0x80070050)”。在出现此问题的所有机器上,软件的初次使用是成功的。C#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被存储在图像拍摄期间的临时文件 - 我是不知道的 - 这是无法覆盖以前的扫描。有谁知道这可能是哪里?