Доброго времени, подскажите пожалуйста как можно сделать так с помощью языка С++ или без него, чтобы когда пользователь на странице гугла набирает в поисковике строчку, то гугл искал бы не то что написано в строке а то что мне надо? Браузер IE.
Keva где-то пионерский пример валялся, найду выложу и мало кто-чем наверно поможет, за это в коммерсе неплохо платят.
да банальные перехваты винсока wsasend wsarecv recv send - или в частоном случае ie - можно через ком
Keva Копай в сторону окна с классом "Internet Explorer_Server" потом атачся к нему Код (Text): GetIEFromHWND proc uses ebx hwnd:dword, pHdocumtnt:dword,pIEBrowser:dword LOCAL lRes: dword LOCAL msg: dword LOCAL ppIE: dword LOCAL ppSp: dword LOCAL PW: dword LOCAL buf[50]:byte invoke RegisterWindowMessage,addr msgtext mov msg,eax invoke SendMessageTimeout,hwnd,msg,0,0,SMTO_ABORTIFHUNG, 1000, addr lRes invoke ObjectFromLresult,lRes, addr IID_IHTMLDocument2, 0, pHdocumtnt cmp eax, S_OK jne err lea eax,PW push eax mov ebx,pHdocumtnt mov ebx,[ebx] push ebx mov ebx,[ebx] call dword ptr [ebx+432] cmp eax, S_OK jne err mov ebx,PW mov ebx,[ebx] lea eax,ppSp push eax push offset IID_IServiceprovider push PW call dword ptr [ebx] cmp eax, S_OK jne err push pIEBrowser push offset IID_IWebBrowser2 push offset IID_IWebbrowserApp mov ebx,ppSp push ebx mov ebx,[ebx] call dword ptr [ebx+12] cmp eax, S_OK jne err coinvoke ppSp, IUnknown, Release coinvoke PW, IUnknown, Release xor eax,eax jmp exit err: ;invoke wsprintf,addr buf,$CTA0("%d"),eax ;invoke MessageBox,0,addr buf,$CTA0("GetIEFromHWND ERROR"),0 exit: ret GetIEFromHWND endp это нам даёт указатели на IWebBrowser2 и IHTMLDocument2 ну а дальше уже надо перехватывать разные события, как это сделать я ХЗ, у меня была задача просто сохранить загруженую страницу и выполнять Navigate, дальше я не копал так как небыло нужно.
> да банальные перехваты винсока wsasend wsarecv recv send - или в частоном случае ie - можно через ком с ssl вы наверно не сталкивались, хотя поисковики сейчас не шифруют трафик. и на COM сделать нормальный инжект (во время того когда страница загружается, а не после показа) не реально, если перехватывать Invoke у IWebBrowser2 то просто нет такого dispid'а который сработает вовремя, причём надо учесть refresh.
А кто-нибудь использовал asynchronous pluggable protocol-ы для подмены страниц? Вроде сделать можно, но все косяки победить не удалось. У кого-нибудь получалось?
если поиск происходит путём открытия ссылки содержащей все критерии поиска и открывается новое окно ie то как только нашли новое окно\вкладку ie, коннектимся к ней как сказал 2FED, потом подписываемся на нужные ивенты и смотрим запрос поисковый, морозим тред окна вкладки, потом сам выполняешь нужный тебе поиск, загружаешь результат в буфер, размораживаешь окно и устанавливаешь свойство InnerHtml, или что то типа того в значение свонго буфера, что содержит уже твой нужный поиск... что то вроде того)
dendi можно не инжектится а тупо заддосить запрос пользователя своим. мы же имеем полный контроль над iwebbrowwser2 этого браузера...
o14189 это было сказано образно. я имел ввиду перебить запрос пользователя своим, не дав отобразиться ответу на пользовательский запрос. это как на медленном инете нажать сначало одну ссылку и сразу другую. отобразится-последняя...
o14189 и вообще бл* перед тем постом, что вызвал твой нииби**ский интерес, я, впринципе, всё написал.
punxer Я честно сказать не знал как ддосить запросы, также совершенно не подозревал о новой терминологии Это как у клерка теперь у каждого будет своя? "Огласите весь список пожалуйста!", или как там