Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

Текст или HTML-код из IE   Найти похожие ветки 

 
Programist21   (2002-12-22 13:30) [0]

Народ, как из Internet Explorer"a достать текст или (что ещё лучше) HTML-код в свою программу (в Memo, например)?
Очень надо. Заранее спамибо!


 
int64 ©   (2002-12-22 20:41) [1]

uses ... SHDocVw, MSHTML, ActiveX;

...

function SaveDocToStrings(Doc: IDispatch; var AStrings: TStrings): HResult;
var
IpStream: IPersistStreamInit;
AStream: TMemoryStream;
begin
AStream := TMemoryStream.Create;
try
IpStream := doc as IPersistStreamInit;
if not Assigned(IpStream) then Result := S_FALSE else
if Succeeded(IpStream.save(TStreamadapter.Create(AStream), TRUE))
then begin
AStream.Seek(0, 0);
AStrings.LoadFromStream(AStream);
Result := S_OK;
end else Result := S_FALSE;
except
Result := S_FALSE;
end;
AStream.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
sw: Ishellwindows;
wb: IWebbrowser2;
Strings: TStrings;
begin
Strings:=Memo1.Lines;
sw:= CoShellWindows.Create;
for i := 0 to SW.Count - 1 do
begin
wb:= Sw.Item(i) as IWebbrowser2;
{
В этом месте определяем конкретный IE из списка запущенных.
Можно по url или по title.
А можно и просто оставить по щёту.
}
if HTMLDocument(wb.Document).url=
" http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1040553009&n=0"
then
{if HTMLDocument(wb.Document).title=
"Мастера DELPHI | Текст или HTML-код из IE"
then}
SaveDocToStrings(wb.Document, Strings);
end;
end;


 
Programist21   (2002-12-23 11:02) [2]

to int64 Просто ОГРОМНЕЙШЕЕ СПАСИБО!!! Всё круто работает!

Но есть и кое что не так :(

1) Код надо выцеплять не по title, не по url и не по count, а по активному окну - то есть выцепляем то, которое последнее было активным! Как это осуществить?

2) И ещё один вопрос: Как можно отловить, что пользователь сменил (сделал активным) другое окно IE???


 
Opuhshii ©   (2002-12-23 11:27) [3]

С помощью IShellWindows - получите все IWebBrowser"ы,.. а уж какой был активный,.. мда,.. FindWindow.... у Window можно и текст узнать,.. а он обычно title и есть... а уж которое последнее было активным,. это брузеру не к чему,.. имхо оно вам надо,.. дык вот именно вы и делайте.. ))

"Как можно отловить, что пользователь сменил (сделал активным) другое окно IE???" точно также как если это было любое другое окно,.. необязательно IE.... ))


 
Programist21   (2002-12-23 13:45) [4]

А тогда как отловить какое окно было последним активным? :)



Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-15142
Micah'GF
2002-12-23 17:55
2003.01.06
Связь между юнитами


8-15168
Dark Elf
2002-07-04 19:59
2003.01.06
Документация на GLScene


14-15299
stone
2002-12-18 11:30
2003.01.06
FAQ для оверклокеров и фрикеров


14-15255
Goodzilla
2002-12-15 22:53
2003.01.06
Opera 7


1-15127
Programist21
2002-12-22 13:30
2003.01.06
Текст или HTML-код из IE