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

Вниз

Достать выделенный текст из броузера   Найти похожие ветки 

 
Ребенок Кирилл   (2002-08-28 18:09) [0]

Здравствуйте.

Как достать выделенный текст из броузера, например как это делает программа Yandex Search или Yandex Translate.

Спасибо


 
Ученик ©   (2002-08-28 19:31) [1]

Нажать для броузера клавиши коипрования в буфер обмена


 
Ученик ©   (2002-08-28 20:09) [2]

Имелось ввиду программно


 
Ребенок Кирилл   (2002-08-30 05:02) [3]

А как это сделать, зная HWND окна?


 
int64 ©   (2002-08-30 08:03) [4]

uses ...MSHTML;

type
...
TObjectFromLResult = function(LRESULT: lResult; const IID: TGUID; WPARAM: wParam; out pObject): HRESULT; stdcall;

...

function GetSelTextFromHWND_IE(WHandle: HWND; var Text: string): HRESULT;
var
hInst, Wnd: HWND;
lRes: Cardinal;
MSG: Integer;
ObjectFromLresult: TObjectFromLresult;
Doc: IHTMLDocument2;
begin
hInst := LoadLibrary("Oleacc.dll");
@ObjectFromLresult := GetProcAddress(hInst, "ObjectFromLresult");
if @ObjectFromLresult <> nil then begin
try
Wnd := FindWindowEX(WHandle, 0, "Shell DocObject View", nil);
Wnd := FindWindowEX(Wnd, 0, "Internet Explorer_Server", nil);
MSG := RegisterWindowMessage("WM_HTML_GETOBJECT");
SendMessageTimeOut(Wnd, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
Result := ObjectFromLresult(lRes, IHTMLDocument2, 0, Doc);
if assigned(Doc) then
Text:= (Doc.selection.createRange as IHTMLTxtRange).text;
//Text:= (Doc.selection.createRange as IHTMLTxtRange).htmltext;
finally
FreeLibrary(hInst);
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Wnd: HWND;
Text: string;
begin
Wnd := FindWindow("IEFrame", nil);
if Wnd = 0 then
begin
showmessage("No Running instance of Internet Explorer");
exit;
end;
if GetSelTextFromHWND_IE(Wnd, Text)=S_OK then
Memo1.Text:= Text;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
14-45517
Zion
2002-09-16 20:38
2002.10.14
C# кто видел?


6-45487
Alex_LG
2002-07-08 14:28
2002.10.14
Как узнать тип коннекта в инет - Dial-up или LAN ?


3-45199
Young Programmer
2002-09-23 04:01
2002.10.14
Delphi + ADO


3-45210
stub
2002-09-23 13:22
2002.10.14
sql запрос по выбору записи содержащей русские символы не пашет


3-45193
Andriano
2002-09-23 08:55
2002.10.14
Хорошая книга по INTERBASE