c#中如何用 IHTMLDocument2?

tsys2000 2010-08-29 12:16:18
c#中如何用 IHTMLDocument2?

IHTMLDocument2 在哪个命名空间内?
...全文
677 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mngzilin 2010-08-29
  • 打赏
  • 举报
回复
            HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
object index = 1;
IHTMLWindow2 frame1 = (IHTMLWindow2)doc.frames.item(ref index);
HTMLDocument doc1 = (HTMLDocument)frame1.document;


非托管操作,许多地方的使用和js类似。
ZengHD 2010-08-29
  • 打赏
  • 举报
回复
引用--》COM--》Microsoft HTML Object Library
using mshtml;
C#版ActiveX + JS +Flex通訊 全實現 因項目部署需要,特把之前寫的與讀卡器通訊的模塊改為ActiveX插件,給Flash調用,由於Flash不能直接調用ActiveX,所以,用JS作為間層,作為Flash和ActiveX通訊的橋梁。 開發環境:WINXP _EN 開發工具:VS2005,Flex 3. .net 2.0 ActiveX控件開發 1:新建一個工程項目,MyActiveXDemo,選擇Visual C#->Windows Control Library 2:修改UserControl1.cs為ReadICCard.cs 3:設置工程發布屬性,工程屬性->Application->Assembly information, 把Make assembly Com-Visible 勾上。 4:到 工程屬性->Build->Output, 把 Register for COM interop 勾上。 5:修改AssemblyInfo.cs文件,加上紅色方框部分內容: 6:在ReadICCardActiveX 控件里,添加一個GUID,可以使用 工具-创建GUID 菜单创建一个GUID 7:为了让ActiveX控件获得客户端的信任,控件类还需要实现一个名为“IObjectSafety”的接口。先创建该接口(注意,不能修改该接口的GUID值):(這里是直接copy網上的) using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace Preresearch.CSharpActiveX { [ComImport, GuidAttribute( " CB5BDC81-93C1-11CF-8F20-00805F2CD064 " )] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] public interface IObjectSafety { [PreserveSig] int GetInterfaceSafetyOptions( ref Guid riid, [MarshalAs(UnmanagedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U4)] ref int pdwEnabledOptions); [PreserveSig()] int SetInterfaceSafetyOptions( ref Guid riid, [MarshalAs(UnmanagedType.U4)] int dwOptionSetMask, [MarshalAs(UnmanagedType.U4)] int dwEnabledOptions); } } 然后在控件类继承并实现该接口: #region IObjectSafety 成员 private const string _IID_IDispatch = " {00020400-0000-0000-C000-000000000046} " ; private const string _IID_IDispatchEx = " {a6ef9860-c720-11d0-9337-00a0c90dcaa9} " ; private const string _IID_IPersistStorage = " {0000010A-0000-0000-C000-000000000046} " ; private const string _IID_IPersistStream = " {00000109-0000-0000-C000-000000000046} " ; private const string _IID_IPersistPropertyBag = " {37D84F60-42CB-11CE-8135-00AA004BB851} " ; private const int INTERFACESAFE_FOR_UNTRUSTED_CALLER = 0x00000001 ; private const
WebBrowser 本WebBrowser编程技术包括Delphi、C#、VC++、VB等编程资料的集合,其的 实例大多以Delphi为示例讲解,Delphi7 IDE开发环境。 IE_WebBrowser编程技巧 修改WebBrowser的header信息? Delphi查看WebBrowser提交之前的数据头 用TWebBrowser组件在DELPHIPOST数据和取得网页源文件 在 WebBrowser 直接载入流,不通过文件 判断下载网页成功 WebBrowser 失去焦点问题的解决 添加到收藏夹和整理收藏夹 使WebBrowser获得焦点 提取网页所有链接 Web字体大小 Web命令操作 WebBrowser Navigate 的 参数 EmptyParam Web控件不缓存网页,也不从缓存读取 禁止WebBrowser复制 CTRL+C 在WebBrowser窗口上模拟KeyBd_Event 在使用WebBrowser控件,先要 初始化和结束程序后要终止化(Initialization & Finalization) 自定义浏览器上下文菜单 自定义浏览器 C#调用WebBrowser查看源文件的功能 ----------------------------------- WebBrowser与MSHTML 直接在WebBrowserHTML字符串 在webbrowser查找字符串并定位 把图片拷贝进剪贴板 IHTMLDocument的ExecCommand 处理事件的Internet Explorer的DOM 禁止WebBrowser右键弹出菜单 禁止TWebBrowser图像显示 访问HTML的DOM不使用WebBrowser 如何填写空白(about:blank)页的表单 屏蔽WebBrowser的Javascript 创建运行时的IHTMLDocument而不在WebBrowser内 HOOK Webbrowser 替换WebBrowser的窗口过程 Microsoft.XMLHttp的属性和方法的简介及使用 ------------------------ IE相关的 清空IE缓存 单独删除某一URL的缓存 清空历记录 读取IE历史记录 防止脚本关闭WebBrowser 连接是否有效 InternetCheckConnection res协议可以使浏览器显示储存在资源HTML 往IE嵌入工具条 阻断弹出式广告的BHO 自动填表的IE面板插件 使用Delphi开发IE按钮扩展 使用Delphi开发IE右键菜单扩展 IE异步可插入协议扩展 Delphi开发IE下载扩展 创建3721样式的Google搜索扩展 HTML代码过滤技术 GetDefaultBrowser 得到的HTML代码的IE窗口 下载网址wininet ------------------------------- 注意啦,需要HTF 阅读器:http://sites.google.com/site/htfresource/home

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧