Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++: COM, OLE, ActiveX

Войти
Регистрация
Восстановить пароль
 
UAGREED
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 13
#1

Клик по Internet Explorer_Server в WebBrowser - C++ COM

02.08.2016, 21:05. Просмотров 668. Ответов 3

Мне надо нажать на любой элемент (картинка к примеру), который находится в WebBrowser. Сначала думал что мне надо делать клик по флеш-объекту, поэтому написал такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CppWebBrowser1->Navigate(L"http://ina.newart.ru/med/risovalka-1.swf");
// Вставил эту строку сюда для наглядности, а обычно она находится в другой функции
TPoint  Pt ;
HWND Wnd ;
 
  Pt.x = CppWebBrowser1->Left + 20;
  Pt.y = CppWebBrowser1->Top + 20;
  Pt = ClientToScreen(Pt);
 
 HWND Handle = Form1->Handle;
 
                     HWND Handle2 = FindWindowEx(Handle, NULL, L"Shell Embedding", NULL);
                     if(!Handle2) ShowMessage("Не нашло главное окно");
                     HWND Handle3 = FindWindowEx(Handle2, NULL, L"Shell DocObject View", NULL);
                     HWND Handle4 = FindWindowEx(Handle3, NULL, L"Internet Explorer_Server", NULL);
                     HWND Handle5 = FindWindowEx(Handle4, NULL, L"MacromediaFlashPlayerActiveX", NULL);
 
if(!Handle5) ShowMessage("Не нашло");
 
SendMessage(Handle5,WM_MOUSEMOVE,NULL,MAKELONG(Pt.x,Pt.y));
SendMessage(Handle5,WM_LBUTTONUP,MK_LBUTTON,MAKELONG(Pt.x,Pt.y));
 
SendMessage(Handle5,WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(Pt.x,Pt.y));
Он работает и замечательно тычет на флеше на координаты. Но надо переделывать на тык по сайту. Проверил WinDowse и WinSpy. Надо тыкать по Internet Explorer_Server. Ну я по такой же логике делаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CppWebBrowser1->Navigate(L"http://uagreed.zzz.com.ua/MAINTEST/1.html");
 // Вставил эту строку сюда для наглядности, а обычно она находится в другой функции
TPoint  Pt ;
HWND Wnd ;
 
  Pt.x = CppWebBrowser1->Left + 20;
  Pt.y = CppWebBrowser1->Top + 20;
  Pt = ClientToScreen(Pt);
 
 HWND Handle = Form1->Handle;
 
                     HWND Handle2 = FindWindowEx(Handle, NULL, L"Shell Embedding", NULL);
                     if(!Handle2) ShowMessage("Не нашло главное окно");
                     HWND Handle3 = FindWindowEx(Handle2, NULL, L"Shell DocObject View", NULL);
                     HWND Handle4 = FindWindowEx(Handle3, NULL, L"Internet Explorer_Server", NULL);
                    // HWND Handle5 = FindWindowEx(Handle4, NULL, L"MacromediaFlashPlayerActiveX", NULL);
 
if(!Handle4) ShowMessage("Не нашло");
 
SendMessage(Handle4,WM_MOUSEMOVE,NULL,MAKELONG(Pt.x,Pt.y));
SendMessage(Handle4,WM_LBUTTONUP,MK_LBUTTON,MAKELONG(Pt.x,Pt.y));
 
SendMessage(Handle4,WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(Pt.x,Pt.y));
Просто сделал картинку ссылкой чтоб было видно что кликнуло по ней
HTML5
1
2
<a href="lorem.html"><img src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSgatWkrshJs5q2zO3K_A6tIGXkI5NP3uwrg8v9gMQB0T3yn2EU7W4AShA" 
  width="500" height="500" alt="lorem"></a>
Но теперь ничего не происходит. Почему так? Как кликнуть, при том условии что окно может быть неактивным?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2016, 21:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Клик по Internet Explorer_Server в WebBrowser (C++ COM):

Не находит Internet Explorer_Server - Visual Basic .NET
Никак не могу понять почему не находит Internet Explorer_Server (возвращает 0) hWndChild1 = FindWindowEx(hWnd, 0, &quot;Shell Embedding&quot;,...

Работа с классом internet explorer_server - Delphi WinAPI
Всем доброго времени суток! Будьте добры подскажите каким образом организовать автоматизацию действий (нажатие кнопок,...

Сделать клик и ввести текст в браузере Internet Explorer - Delphi WinAPI
Здравствуйте! Встала такая задача. Есть программа, которая отслеживает поступившие заявки и сообщает это администратору. Делал это все...

Клик по кнопке (WebBrowser) - Delphi
Кнопка : &lt;input type=&quot;hidden&quot; name=&quot;item&quot; value=&quot;1&quot;&gt; &lt;input type=&quot;submit&quot; value=&quot;Купить&quot; style=&quot;height: 30px; margin-top:10px;&quot;&gt; ...

Webbrowser клик по гиперссылке - C#
&lt;a class=&quot;flhdr&quot; href=&quot;../?wicket:interface=:3:nearLocation:1:locationLink::ILinkListener::&amp;amp;action=1404579489012(это значение меняется...

.NET 4.x Webbrowser осуществить клик - C#
Нужно осуществить клик по кнопке скачать Форма кнопки: &lt;div title=&quot;Скачать&quot; class=&quot;btn btn-info btn-download&quot;&gt; Побывал: ...

3
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,712
02.08.2016, 23:55 #2
может название заголовка окна не то?
0
UAGREED
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 13
03.08.2016, 19:48  [ТС] #3
Я ж сказал что проверил двумя программами что находится в том месте, куда надо кликнуть.
Цитата Сообщение от UAGREED Посмотреть сообщение
Проверил WinDowse и WinSpy.
0
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,712
04.08.2016, 08:19 #4
UAGREED, тогда приходим к выводу что элемент ловит клик не через сообщения а каким то иным способом например опрашивая статус кнопок
0
04.08.2016, 08:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2016, 08:19
Привет! Вот еще темы с ответами:

Клик по кнопке в webbrowser - Delphi
Всем привет! Нужна помощь, уже вот второй день мучаюсь с этим. Как кликнуть по вот такой прекрасной кнопочке в Delphi Webbrowser: ...

Клик по ссылке webBrowser - C#
Как кликнув по ссылке сделать чтобы открывался браузер по умолчанию?

Клик по javascript кнопке в webBrowser - C#
Собственно, как кликнуть по джаваскрипту в браузере?

Клик по координатам в компоненте WebBrowser - C#
Здравствуйте уважаемые форумчане. Подскажите пожалуйста как мне сделать клик по конкретным координатам (Х и У) в загруженной странице в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.