1

我正在使用 C# 构建一个应用程序,在该应用程序中我使用 WIA 通过扫描仪扫描图像。我一直遇到这个错误

Creating an instance of the COM component with 
CLSID {850D1D11-70F3-4BE5-9A11-77AA6B2BB201} from the IClassFactory failed due 
to the following error: 80070422.

错误在以下行

dlg = new CommonDialogClass();

我已经设置了对 wiaaut.dll 的引用,甚至注册了它,我也用谷歌搜索了一段时间,但无济于事。我希望有人可以解决或帮助我解决这个问题。欢迎任何建议。

4

1 回答 1

1

快速搜索给了我以下答案:

http://mahaafifi.blogspot.co.uk/2012/03/iclassfactory-failed-due-to-following.html

似乎 Jon Skeet 在你之前的问题中已经提到了这个答案:

COMException 未处理

请执行下列操作:

  1. 点击开始
  2. 单击运行
  3. 输入“services.msc”
  4. 选择名为“Windows Image Acquisition (WIA)”的服务。(见截图)
  5. 右键单击-> 属性
  6. 将启动类型设置为“自动”。
  7. 单击确定关闭窗口
  8. 再次选择服务,右键单击-> 开始。

该服务在那里,但要查找全名,而不是首字母缩写词,否则您可能会错过它。

Windows Image Acquisition (WIA) 服务现在正在运行,并将在重新启动后自动启动。

在此处输入图像描述

如果您在启动服务后仍然收到异常,请检查运行您的应用程序的用户是否有足够的权限使用 COM 组件。

在搜索错误“80070422”时,我遇到了以下修复:

http://windows.microsoft.com/en-US/windows7/Windows-Update-error-80070422

可能有关系,也可能没有关系,值得一试。

如果在此之后仍然收到异常,还要检查 GUID 和错误代码。

例如,错误代码 0x80210015 通常表示您的设备(在您的情况下是扫描仪)不符合 WIA 标准。更新您的驱动程序并检查它们是否符合 WIA!那或者得到一个新的扫描仪。

于 2012-03-30T07:53:02.793 回答