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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Maymistov
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 27
#1

Вытащить скрипты из браузера - C++

04.07.2008, 08:37. Просмотров 1086. Ответов 3
Метки нет (Все метки)

Люди, помогите разобраться с исходником.
Он должен вытаскивать скрипты из браузера.
Вроде всё работает (по крайней мере количество скриптов определяется точно),
но какой бы функцией я бы не пытался вытащить из pIElem, хоть какую-нибудь информацию,
в Memo заносятся только числа. Может я не правильно с BSTR работаю...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <mshtml.h>
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IHTMLDocument2 *HTMLDocument = NULL;
if(!CppWebBrowser->Busy && CppWebBrowser->Document &&
AnsiString(CppWebBrowser->LocationURL) != 'about:blank' &&
SUCCEEDED(CppWebBrowser->Document->QueryInterface(
IID_IHTMLDocument2, (LPVOID*)&HTMLDocument)))
  {
 
  IHTMLElementCollection* pElements;
  HRESULT hr2 = HTMLDocument->get_scripts(&pElements);
  long plongnumberofelements;
  HRESULT hr3 = pElements->get_length( &plongnumberofelements);
  if ( hr3 == S_OK )
  for ( int i=0; i< plongnumberofelements; i++ )
  {
  VARIANT varIndex;
  varIndex.vt = VT_UINT;
  varIndex.lVal = i;
  VARIANT var2;
  VariantInit( &var2 );
  IDispatch* pDisp;
  HRESULT hr4;
  hr4 = pElements->item( varIndex, var2, &pDisp );
  BSTR pppp;
  IHTMLScriptElement* pIElem;
  pDisp->QueryInterface(IID_IHTMLScriptElement,(LPVOID*) &pIElem);
 
  pIElem->get_text(&pppp);
  Memo1->Lines->Add(WideChar(pppp));    ///  может здесь ошибка...
 
  }
  }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2008, 08:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вытащить скрипты из браузера (C++):

Скрипты - C++
Кто любит скрипты, типа: g++ -std=c++14 la1003.cpp ./a.out Или, посложнее!

луа скрипты - C++
подскажите пожалуйста, как выполнить луа скрипт на с++ (в ВС 2012), какие библиотеки нужно подключать и т.д. прошу привести,пример...

Как можно вытащить скрипты jsfiddle.net - JavaScript
Всем добрый день! Помогите пожалуйста вытащить скрипты и данные из сайта jsfiddle.net. Попробовал несколько раз, но на локальном не...

Как дёргать php скрипты не из браузера - PHP
Всем привет! Хочу спросить у профессианалов, обрисую картину для начала... на сайте есть 2 страницы: main.php (главная) и...

Всплывающее окно - нужно просто вытащить скрипты с другого сайта. Буду благодарен - HTML, CSS
Как сделать на сайте чтоб при наведении на картинку появлялся блок с описание пример как на картинке Это взято с сайта у них все...

Скрипты (абсолютно все) не видят передаваемых им параметров в строке URL браузера - PHP
Столкнулся с поистине невообразимой проблемой! Сделал сайт полностью рабочий, протестировал его на denver. После переноса сайта на...

3
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
05.07.2008, 17:25 #2
Очень смахивает на то что ты указатель на указатель привел просто к указателю, в то время как для получения значения необходимо делать это дважды, хотя я не берусь это утверждать с полной уверенностью.

С уважением, Владимир
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
05.07.2008, 17:29 #3
Возможно надо делать так, хотя я и не уверен

C++
1
2
3
4
5
6
BSTR* pPppp;
IHTMLScriptElement* pIElem;
pDisp->QueryInterface(IID_IHTMLScriptElement,(LPVOID*) &pIElem);
 
pIElem->get_text(&pPppp);
Memo1->Lines->Add(WideChar(*pPppp));
Проверь в документации, что надо передавать в качестве параметра методу get_text...

Удачи, Владимир
0
Maymistov
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 27
05.07.2008, 22:30  [ТС] #4
Вот так работает:

C++
1
2
3
4
BSTR pppp;
pIElem->get_text(&pppp);
TVariant a=pppp;
Memo1->Lines->Add(a);
Но только когда срипт явно прописан в HTML.
Когда черезе тег src=filename.js - не срабатывает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2008, 22:30
Привет! Вот еще темы с ответами:

Как вытащить access_token из браузера? - C++
Здравствуйте! Не могу понять, как получить access_token. Допустим, я запускаю браузер с нужным POST-запросом. Далее пользователь вводит...

Вытащить пароль от учётной записи из яндекс браузера - Софт
Здравствуйте, интересует вопрос каким образом можно вытащить пароль от учётной записи из файлов яндекс браузера? Дело обстоит так -...

Как вытащить HTML из активной вкладки браузера Chrome? - Visual Basic
Всем привет! Всю ночь форум копал :wall: Надо найти баланс в самом низу страницы и никак не могу получить код для парсинга - в адресной...

Баннерные скрипты, скрипты посещаемости - Контекстная реклама
Всем привет,хотелось бы узнать как организовать баннерную систему у себя на сайте,такую чтобы считывала количество кликов по банеру,ставила...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
05.07.2008, 22:30
Ответ Создать тему
Опции темы

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