博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Additional information: 对 COM 组件的调用返回了错误 HRESULT E_FAIL
阅读量:6623 次
发布时间:2019-06-25

本文共 1143 字,大约阅读时间需要 3 分钟。

1:Winform应用通过mshtml操作IE浏览器DOM时,第一次运行正常,点击第二次时错误信息如下

A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in openie01.exe

Additional information: 对 COM 组件的调用返回了错误 HRESULT E_FAIL。

If there is a handler for this exception, the program may be safely continued.

2:出现异常的代码 

为:mshtml.HTMLDocument doc = ie.Document;
SHDocVw.InternetExplorer ie = getInternetExploer(url);            if (null == ie)             {                //如果没有打开,则进行打开操作,并获取ie对象                ie = new SHDocVw.InternetExplorer();                ie.Navigate(url);                ie.Visible = true;                ie.DocumentComplete += ie_DocumentComplete;                compWait();            }            //操作DOM进行模拟登陆            mshtml.HTMLDocument doc = ie.Document;

 

第一次运行正常,是因为进行了加载完成的判断

private void ie_DocumentComplete(object pDisp, ref object URL)        {            ie_Read = true;        }        private void compWait()        {            while (ie_Read != true)            {                Application.DoEvents();            }        }

第二次运行异常,是因为ie_Read这个变量没有置位导致的。

3:解决方法

在程序运行完之后将ie_Read置位

//将标识复位            ie_Read = false;

 

转载地址:http://urvpo.baihongyu.com/

你可能感兴趣的文章
linux笔记1-1
查看>>
dubbo源码分析-负载均衡
查看>>
一统江湖的大前端(3) DOClever——你的postman有点low
查看>>
云栖大会上发布了哪些移动研发新利器?
查看>>
《黑客免杀攻防》读书笔记-软件逆向工程(6) switch-case分支
查看>>
day6作业--游戏人生完善
查看>>
金字塔思维
查看>>
strak组件(10):批量操作
查看>>
thinkphp空控制器的处理
查看>>
Mahout分步式程序开发 聚类Kmeans(转)
查看>>
修改linux最大文件句柄数
查看>>
接口幂等
查看>>
LibreOffice 打开中文乱码
查看>>
FromBottomToTop第十三周项目博客
查看>>
Activity的四种启动模式
查看>>
Centos vsftpd服务器搭建
查看>>
【常用工具】常用工具收集
查看>>
Tax
查看>>
网站页面多出&65279出现空白行的原因及解决方法
查看>>
第二阶段团队冲刺站立会议06
查看>>