.NET 获取任意一个WebBrowser中的HTMLDocument信息
来源:互联网 发布:网络电影票房排行 编辑:程序博客网 时间:2024/05/29 15:28
首先必须找到索要获取的WebBrowser句柄
然后
using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using mshtml;namespace Test{ public partial class Form1 { #region AA [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] static extern uint RegisterWindowMessage(string lpString); [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] public static extern IntPtr SendMessageTimeout( IntPtr windowHandle, uint Msg, IntPtr wParam, IntPtr lParam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); [DllImport("oleacc.dll", PreserveSig = false)] [return: MarshalAs(UnmanagedType.Interface)] static extern object ObjectFromLresult(IntPtr lResult, [MarshalAs(UnmanagedType.LPStruct)] Guid refiid, IntPtr wParam); [Flags] public enum SendMessageTimeoutFlags : uint { SMTO_NORMAL = 0x0, SMTO_BLOCK = 0x1, SMTO_ABORTIFHUNG = 0x2, SMTO_NOTIMEOUTIFNOTHUNG = 0x8 } public delegate bool EnumWindowsProc(IntPtr hWnd, ref IntPtr lParam); public static IHTMLDocument2 GetHtmlDocument(IntPtr hWnd) { IntPtr hWndChild = hWnd; //注册窗口信息 uint uMsg = RegisterWindowMessage("WM_HTML_GETOBJECT"); //定义hRes指针 IntPtr hRes; //发送消息超时时间 SendMessageTimeout(hWndChild, uMsg, IntPtr.Zero, IntPtr.Zero, SendMessageTimeoutFlags.SMTO_ABORTIFHUNG, 1000, out hRes); //如果hRes为空指针则返回空 if (hRes.ToInt32() == 0) return null; IHTMLDocument2 doc = ObjectFromLresult(hRes, typeof(IHTMLDocument2).GUID, IntPtr.Zero) as IHTMLDocument2; return doc; } #endregion }}
- .NET 获取任意一个WebBrowser中的HTMLDocument信息
- c# webBrowser 获取Ajax信息
- c# webBrowser 获取Ajax信息 .
- 获取WebBrowser中的指定图片
- c#获取WebBrowser中的userAgent
- ApplicationContextAware 获取任意bean信息
- 用 .Net WebBrowser 控件获取POST数据
- 用 .Net WebBrowser 控件获取POST数据
- 用.Net WebBrowser控件获取POST数据
- 用 .Net WebBrowser 控件获取POST数据
- 获取VB里 webbrowser 中的按钮事件
- 利用webBrowser获取页面iframe中的内容
- c# webBrowser 获取js中的alert事件
- 通过webbrowser获取网页中的超链接地址
- c# webBrowser 获取js中的alert事件
- 利用webBrowser获取页面iframe中的内容
- delphi获取webbrowser中的元素的值
- c# webBrowser 获取js中的alert事件
- JDK5 线程池(java.util.concurrent.ThreadPoolExecutor) 使用介绍
- pb生成exe文件步骤
- VS2010/MFC编程入门之二(Ribbon界面开发:为Ribbon Bar添加控件)
- XML Schema
- hash原理
- .NET 获取任意一个WebBrowser中的HTMLDocument信息
- VS2010/MFC编程入门之三(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)
- Pre-defined Keyboard Shortcuts (zz.IS2120@BG57IV3.T717662197)
- 利用SDK全局函数实现画线功能详解
- </s:textfield>去掉自动生成的<tr><td>
- Tween动画(四种)以及Activity间跳转动画
- VS2010 无法嵌入互操作类型...请改用适用的接口 解决办法
- 转 -- Linux下实现一个网卡绑定多个IP地址
- input选择图片后立刻能阅览图片代码