0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 13
1

Клик по Internet Explorer_Server в WebBrowser

02.08.2016, 21:05. Показов 1699. Ответов 3

Author24 — интернет-сервис помощи студентам
Мне надо нажать на любой элемент (картинка к примеру), который находится в 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2016, 21:05
Ответы с готовыми решениями:

Не находит Internet Explorer_Server
Никак не могу понять почему не находит Internet Explorer_Server (возвращает 0) hWndChild1 =...

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

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

Webbrowser клик по гиперссылке
&lt;a class=&quot;flhdr&quot;...

3
Модератор
3400 / 2171 / 353
Регистрация: 13.01.2012
Сообщений: 8,408
02.08.2016, 23:55 2
может название заголовка окна не то?
0
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 13
03.08.2016, 19:48  [ТС] 3
Я ж сказал что проверил двумя программами что находится в том месте, куда надо кликнуть.
Цитата Сообщение от UAGREED Посмотреть сообщение
Проверил WinDowse и WinSpy.
0
Модератор
3400 / 2171 / 353
Регистрация: 13.01.2012
Сообщений: 8,408
04.08.2016, 08:19 4
UAGREED, тогда приходим к выводу что элемент ловит клик не через сообщения а каким то иным способом например опрашивая статус кнопок
0
04.08.2016, 08:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2016, 08:19
Помогаю со студенческими работами здесь

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

Клик по кнопке (WebBrowser)
Кнопка : &lt;input type=&quot;hidden&quot; name=&quot;item&quot; value=&quot;1&quot;&gt; &lt;input type=&quot;submit&quot;...

WebBrowser клик по картинке
Добрый день. Имею такой кусок HTML кода: &lt;img style=&quot;position:absolute; left:83px; top:22px;...

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

Webbrowser осуществить клик
Нужно осуществить клик по кнопке скачать Форма кнопки: &lt;div title=&quot;Скачать&quot; class=&quot;btn btn-info...

Webbrowser и Temporary Internet Files
Добрый день! Есть ли возможность изменить адрес сохранения временных файлов в Webbrowser??? Или...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru