获取其它进程中的Web Browser中的HTML源码

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

HWND H1,H2,H3,H4,hw;

H1=H2=H3=H4=hw=NULL;

H1=::FindWindow("TForm1",NULL);

if (H1) H2=::FindWindowEx(H1,NULL,"Shell Embedding",NULL);

if (H2) H3=::FindWindowEx(H2,NULL,"Shell DocObject View",NULL);

if (H3) H4=::FindWindowEx(H3,NULL,"Internet Explorer_Server",NULL);

if (H4) hw=H4;

else

{

AfxMessageBox("No Found the Dialog with IE!");

return;

}

IHTMLDocument2 *pHTMLDocument=NULL;

DWORD lRes;

HRESULT hres;

UINT MSG = RegisterWindowMessage("WM_HTML_GETOBJECT");

SendMessageTimeout(hw, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, &lRes);

hres=ObjectFromLresult(lRes,__uuidof(IHTMLDocument2),0,(void**)&pHTMLDocument);

if(hres==S_OK)

{

IPersistStreamInit *pPSI=NULL;

IStream *pStream=NULL;

HGLOBAL hHTMLText;

if (FAILED(pHTMLDocument->QueryInterface(&pPSI))) return;

hHTMLText = GlobalAlloc(GMEM_FIXED, 65534);

CreateStreamOnHGlobal(hHTMLText, TRUE, &pStream);

pPSI->Save(pStream, FALSE);

char *pText = (char*)hHTMLText;

FILE *f=fopen("data_from_explorer.txt","w");

fwrite(pText,1,strlen(pText),f);

fclose(f);

AfxMessageBox("the source codes Saved in data_from_explorer.txt");

pStream->Release();

pPSI->Release();

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有