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(); }
|