我希望有人遇到過這種情況 - 我試圖使用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被存儲在圖像拍攝期間的臨時文件 - 我是不知道的 - 這是無法覆蓋以前的掃描。有誰知道這可能是哪裏?