-
Здравствуйте!
Подскажите как эмулировать нажатие мыши по обьекту в Webbrowser.
Код обьекта в HTML выглядит так:
<tr><td><form name= "myForm" target="_self" action="/assault/1on1/go/?w=1RU" method="post"> <input type="hidden" name="defenderID" value="72268" /> <button type="submit" name="Go" value="1" style="background-color:transparent; border:0px; width:98px; height:25px; " onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('btn_angreifen2009361','','/public/img/ru/buttons/btn_angreifen_h.jpg',1)" ><img class="submit_image" name="btn_angreifen2009361" src="/public/img/ru/buttons/btn_angreifen.jpg" alt="Go" /></button> </form> </td></tr>
Выглядит как кнопка.
По сути она отправляет на сервер action="/assault/1on1/go/?w=1RU" method="post"
Можно как-то провернуть это через Webbrowser1.navigate? (метод Post)
Хотя предпочтительней все же через click.
Заранее огромное спасибо!
-
Что бы реально программно кликнуть где то в webbrowser, или еще чего эмулировать надо сообщения посылать не в хэндл webbrowser а в хэндл IE Находим хэндл // функция находит реальный IE function GetIEHandle(WebBrowser: TWebbrowser; ClassName: string): HWND; var hwndChild, hwndTmp: HWND; oleCtrl: TOleControl; szClass: array [0..255] of char; begin oleCtrl :=WebBrowser; hwndTmp := oleCtrl.Handle; while (true) do begin hwndChild := GetWindow(hwndTmp, GW_CHILD); GetClassName(hwndChild, szClass, SizeOf(szClass)); if (string(szClass)=ClassName) then begin Result :=hwndChild; Exit; end; hwndTmp := hwndChild; end; Result := 0; end;
ну а затем какое надо сообщение var H : hwnd; begin H := GetIEHandle(WB,'Internet Explorer_Server'); SendMessage(H,WM_MOUSEMOVE,0,MakeLong(x,y); end
-
|