Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2013, 07:29   #1
zdus2757
vk.com/replog
Пользователь
 
Регистрация: 04.05.2012
Сообщений: 87
По умолчанию Webbrowser клик

мне нужен клик по рекламе, есть только class
кто может помочь?
zdus2757 вне форума Ответить с цитированием
Старый 21.11.2013, 08:42   #2
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

отправляй обычный клик хенделу WebBrowser например PostMessage
ClMlD вне форума Ответить с цитированием
Старый 21.11.2013, 09:39   #3
zdus2757
vk.com/replog
Пользователь
 
Регистрация: 04.05.2012
Сообщений: 87
По умолчанию

не подходит надо чтобы webbrowser не отображался
zdus2757 вне форума Ответить с цитированием
Старый 21.11.2013, 10:23   #4
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

для этого PostMessage какрас и нужен
ClMlD вне форума Ответить с цитированием
Старый 21.11.2013, 10:29   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
для этого PostMessage какрас и нужен
Если окна не видно, то клик происходит в никуда.

Цитата:
zdus2757
Перебираете элементы DOM, находите эл. с аттрибутом class и нужным в нем содержимым. Кликаете.
Человек_Борща вне форума Ответить с цитированием
Старый 21.11.2013, 10:36   #6
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Код:
function GetIEHandle(Wb: TWebBrowser): HWND;
var
  hwndChild, hwndTmp: HWND;
  oleCtrl: TOleControl;
  szClass: array[0..255] of char;
begin
  oleCtrl := Wb;
  hwndTmp := oleCtrl.Handle;
  while (true) do
  begin
    hwndChild := GetWindow(hwndTmp, GW_CHILD);
    GetClassName(hwndChild, szClass, SizeOf(szClass));
    if (string(szClass) = 'Internet Explorer_Server') then
    begin
      Result := hwndChild;
      Exit;
    end;
    hwndTmp := hwndChild;
  end;
  Result := 0;
end;
Код:
var
  w:HWND;
begin
....
   w:=WebBrowser1.Handle;
   w :=GetIEHandle(WebBrowser1);
   postmessage(w,WM_MOVE,0,(100 shl 16)+ 100);
   postmessage(w,WM_LBUTTONDOWN,0,(100 shl 16)+ 100);
   PostMessage(w,WM_SETCURSOR,w,MakeLong(HTCLIENT,WM_LBUTTONDOWN));
   postmessage(w,WM_LBUTTONUP,0,(100 shl 16)+ 100);
   PostMessage(w,WM_SETCURSOR,w,MakeLong(HTCLIENT,WM_LBUTTONUP));
......
end;
Клик будет в координатах 100 100
Растягиваете форму браузера на нужную длину за границы формы, например 1000 на 1000 , программа работает даже если WebBrowser не видно
ClMlD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
авто клик по WebBrowser Dezik_axs Общие вопросы Delphi 12 06.05.2013 03:36
webbrowser клик rafffkaaa Работа с сетью в Delphi 2 14.07.2012 18:13
Клик по webbrowser cashmail Общие вопросы Delphi 3 19.10.2011 21:10
Клик в webbrowser ToDayGoodDay Общие вопросы Delphi 1 12.01.2011 10:21
webbrowser клик KoBRaAndrey Работа с сетью в Delphi 6 02.03.2010 02:26