在C#中使用WIA时,错误COMException未处理

时间:2012-03-30 06:16:54

标签: c# wia

我正在使用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的引用,甚至注册了它,我也用了一段时间来搜索问题,但无济于事。 我希望有人可以解决或帮助我解决这个问题。 欢迎任何建议。

1 个答案:

答案 0 :(得分:1)

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

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

似乎Jon Skeet在你上一个问题中已经提到了这个答案:

COMException was unhandled

执行以下操作:

  1. 点击开始
  2. 点击运行
  3. 输入“services.msc”
  4. 选择名为“Windows Image Acquisition(WIA)”的服务。 (见截图)
  5. 右键单击 - >特性
  6. 将启动类型设置为“自动”。
  7. 单击“确定”关闭窗口
  8. 再次选择服务,右键单击 - >启动。
  9. 服务在那里,但寻找全名,而不是首字母缩略词,或者你可能会错过它。

    Windows Image Acquisition(WIA)服务现在正在运行,从现在开始重启后会自动启动。

    enter image description here

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

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

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

    可能或可能不相关,值得一试。

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

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