twebbrowser delphi



Twebbrowser delphi 7

Автор RAn задал вопрос в разделе Другие языки и технологии

Управление интернет картой программным путём через TWebBrowser (Delphi7) и получил лучший ответ

Ответ от Kelavric kelavric[гуру]
Значится, так. Легкое гугление и анализ выдачи WinSight32 показали, что работает следующая конструкция.
1. Заводим функцию, которая будет определять хэндл эксплорера, лежащего в компоненте WebBrowser:
function TForm1.GetIEHandle(WebBrowser: TWebbrowser; ClassName: string): HWND;
var
hwndChild, hwndTmp: HWND;
oleCtrl: TOleControl;
szClass: array [0..255] of char;
i :Integer;
begin
oleCtrl :=WebBrowser;
hwndTmp := oleCtrl.Handle;
i := 0;
while (true) do
begin
hwndChild := GetWindow(hwndTmp, GW_CHILD);
GetClassName(hwndChild, szClass, SizeOf(szClass));
Memo1.Lines.Add(string(szClass) + ' - ' + IntToStr(hwndChild));
if (string(szClass)=ClassName) then
begin
Result :=hwndChild;
Exit;
end;
hwndTmp := hwndChild;
end;
Result := 0;
end;
2. Пишем обработчик клика кнопки (я юзал SpeedButton-ы - при их нажатии фокус не дергается) :
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
H : hwnd;
begin
// получаем хэндл эксплорера
H := GetIEHandle(WebBrowser1,'Internet Explorer_Server');
// переводим фокус на эксплорер
PostMessage(H, WM_MOUSEACTIVATE, Self.Handle, 1);
PostMessage(H, WM_LBUTTONDOWN, MK_LBUTTON, MakeLParam(202, 134));
PostMessage(H, WM_LBUTTONUP, 0, MakeLParam(202, 134));
PostMessage(H, WM_CAPTURECHANGED, 0, H);
PostMessage(H, WM_IME_SETCONTEXT, 1, 1);
PostMessage(H, WM_SETFOCUS, self.ActiveControl.Handle, 1);
// отправляем нажатие стрелки вверх
PostMessage(H, WM_KEYDOWN, VK_UP, 0);
PostMessage(H, WM_KEYUP, VK_UP, 0);
end;
3. вот как-то так.
Источник: http://www.delphimaster.ru/cgi-bin/forum.pl?id=1291102393&n=4

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Управление интернет картой программным путём через TWebBrowser (Delphi7)
спросили в Lines
WebBrowser Delphi 7
вроде должно работать. Если неразберетесь, то маякните в коменты. Щас поищу исходники.

подробнее...

получить html код из WebBrowser(delphi 7)
uses ActiveX;

function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName:
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*