none
mshtml开发的时候碰到灾难性故障0x8000FFFF,E_UNEXPECTED,请问各路大神要怎么解决? RRS feed

  • 问题

  • c#,WinForm下引用mshtml获取IE鼠标位置的文本

    IHTMLTxtRang pTxtRange=pBody.createTextRange(); pTxtRange.moveToPoint(pt.X,pt.Y); //就这一句

    如果文本所在的table的css中带有position:absolute样式,就会报灾难性故障0x8000FFFF,如果没有absolute样式,就完全正常,有没有什么解决办法?





    2016年7月8日 10:59

全部回复

  • https://1drv.ms/u/s!AjiQqL-XROl5amtgKil767LsWdY

    源码和测试网页在这里

    测试页面为空样式的时候,按Ctrl+Q能正常获取,切换到position:absolute样式按Ctrl+Q就会报错,测试页面有按钮能直接切换css样式

    2016年7月11日 3:05
  • Hi,

    加个断点看看,感觉可能使pt获取不到坐标吧,要不试试看外部能否把错误catch掉。这个不行的话试试用findwindowex api吧.

    Regards,

    Moonlight


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2016年7月11日 8:26
  • Hi,

    加个断点看看,感觉可能使pt获取不到坐标吧,要不试试看外部能否把错误catch掉。这个不行的话试试用findwindowex api吧.

    Regards,

    Moonlight


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    感谢回复,有断点的,应该不是pt获取不到坐标,pt获取不到坐标报的是HRESULT E_FAIL错误,从字面上看E_UNEXPECTED似乎是未知错误,Google其他E_UNEXPECTED错误都是五花八门的,找不到什么好的解决办法,如果用findwindowex实现起来好麻烦
    2016年7月12日 3:31
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <script>
    function onclick(){
    scrLeft=window.screenLeft;
    scrTop=window.screenTop;
    x=event.screenX-scrLeft;
    y=event.screenY-scrTop;
    rng=document.body.createTextRange();
    rng.moveToPoint(x, y);
    rng.expand("word");
    alert (''+event.clientX+', '+event.clientY+'位置字符为“'+rng.text+'”');
    }
    document.onclick=onclick;
    </script>
    </head>
    
    <body>
    <div style="">
    这是一个测试页面==点击这些文字进行测试==当样式为.moveToPoint(x, y)会报SCRIPT16389:未指明的错误。
    </div>
    </body>
    </html>

    似乎是IE本身的问题,把上面的代码保存到htm文件,打开直接点击文字,即使是调用JS的moveToPoint,在position:absolute下一样会出问题

    2016年7月12日 4:19
  • ms把我的position:absolute都给吃了,<div style="">style里边也应该有个半角的position:absolute
    2016年7月12日 4:25