Главная страница
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
1-45446
AM
2002-10-03 16:51
2002.10.14
Как не позволять пользователю изменять значения в TComboBox?


1-45462
Nayfl
2002-10-01 19:13
2002.10.14
С имитировать нажатия на Enter


14-45557
SBProgrammer
2002-09-20 08:37
2002.10.14
Просят выполнить работу, сколько это может стоит? (опис. внутри)!


8-45467
TPavel
2002-05-12 17:49
2002.10.14
определение тонального набора


1-45358
veZuk
2002-10-06 11:26
2002.10.14
Синусоида