To stboy (唐人) :在程序中直接使用this.axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_SHOWFIND,...)的确会报错,错误信息是"Trying to revoke a drop target that has not been registered"。产生此错误的原因是IWebBrowser2::ExecWB()函数本身不支持OLECMDID_SHOWFIND,其设计即如此,并非您使用错误所致,所以请您放心。包括OLECMDID_SHOWFIND 以及OLECMDID_FIND 在内,共有21个OLECMDID是不能用在IWebBrowser2::ExecWB() 中的。此外余下的OLECMDID都可以正常使用,包括OLECMDID_REFRESH等,您不妨逐一尝试一下。使用SendKeys.Send("^f")是一个正确的替代方案,用如下代码即可呼出"查找"对话框: using mshtml;
using AxSHDocVw; HTMLDocument document = (HTMLDocument)axWebBrowser1.Document;
document.focus();
SendKeys.Send("^f");您所遇到的错误可能是程序其他部分所致,建议通过写一些简单的测试代码来分离和发现错误。最后还是要感谢您关心和使用微软的产品和技术。- 微软全球技术中心 acptvc本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。