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

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

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

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

04.07.2008, 08:37. Просмотров 1072. Ответов 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));    ///  может здесь ошибка...
 
  }
  }
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2008, 08:37     Вытащить скрипты из браузера
Посмотрите здесь:

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

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

Макросы и скрипты (Lua) - C++
У меня тема курсовой - использование языка lua в качестве макросов в языке c++. Ищу в поиске макросы lua, но нахожу только написание...

Скрипты на рабочий стол - C++
Всем читающим, здравствуйте. Не знал в какую тему писать, решил сюда. У всех наверно возникал вопрос как сделать свой рабочий стол...

bad скрипты в TWebBrowser - C++
всем привет! есть проблема: при открытии url в компоненте TWebBrowser начинают вылезать варнинги о работе javascript скриптов. ...

Написать MatLAB-скрипты, считывающие данные о кривой и поверхности из файлов - C++
Указания к лабораторной работе. 1. Сгенерировать с помощью C++-программ файлы с данными, описывающими трех- мерную кривую и трехмерную...

Вытащить байт из dword - C++
Есть массив, в цикле из него берутся и пишутся данные, непоследовательно. Массив int-ов. 1. Как разложить dword на байты (какой способ...

C и doc, вытащить инфу - C++
Здравствуйте, есть куча файлов с мертвого винта, очень нужно с помощью с вытащить из них дату создания/автора, и занести это в какую-нибудь...

вытащить числа из строки - C++
имеется строка формата (%d,%d)(%d,%d)(%d,%d)(%d,%d)... которая вводится пользователем с клавиатуры. как извлечь из нее эти числа?

Вытащить текст из файла - C++
как в массив закинуть содержимое body? я делаю без регулярных выражений, у меня получается вытянуть body, только если body открывается и...

Нужно вытащить из массива... - C++
Нужно вытащить из массива из шести элементов (0,1,2,3,4,5) все чётные числа. Помогите плиз. Заранее благодарю!

Вытащить число из строки - C++
Здравствуйте. Как перевести несколько символов char в int? Например, мне надо перевести набор символов &quot;234&quot;. Не понимаю, как можно все...


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

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

С уважением, Владимир
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...

Удачи, Владимир
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 - не срабатывает
Yandex
Объявления
05.07.2008, 22:30     Вытащить скрипты из браузера
Ответ Создать тему
Опции темы

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