用API获得Internet Explorer_Server类的HTML
首先要找到含有Internet Explorer_Server类句柄,
HTMLDocumentClass result = (HTMLDocumentClass)documentFromDOM(hWnd.ToInt32());
result.activeElement.innerHTML就得到所有HTML
private static IHTMLDocument2 documentFromDOM(int hWnd)
{
IHTMLDocument2 document=null;
int lRes=0;
int lngMsg = NativeMethods.RegisterWindowMessage("WM_HTML_GETOBJECT");
Guid IID_IHTMLDocument = new Guid("626FC520-A41E-11CF-A731-00A0C9082637");
if (lngMsg != 0)
{
NativeMethods.SendMessageTimeout(hWnd, lngMsg, 0, 0, NativeMethods.SMTO_ABORTIFHUNG, 1000, ref lRes);
if (!(bool)(lRes == 0))
{
int hr = NativeMethods.ObjectFromLresult(lRes, ref IID_IHTMLDocument, 0, ref document);
if ((bool)(document == null))
{
MessageBox.Show("No IHTMLDocument Found!", "Warning");
}
}
}
return document;
}
{
IHTMLDocument2 document=null;
int lRes=0;
int lngMsg = NativeMethods.RegisterWindowMessage("WM_HTML_GETOBJECT");
Guid IID_IHTMLDocument = new Guid("626FC520-A41E-11CF-A731-00A0C9082637");
if (lngMsg != 0)
{
NativeMethods.SendMessageTimeout(hWnd, lngMsg, 0, 0, NativeMethods.SMTO_ABORTIFHUNG, 1000, ref lRes);
if (!(bool)(lRes == 0))
{
int hr = NativeMethods.ObjectFromLresult(lRes, ref IID_IHTMLDocument, 0, ref document);
if ((bool)(document == null))
{
MessageBox.Show("No IHTMLDocument Found!", "Warning");
}
}
}
return document;
}