Главная страница
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-45449
AndreyS
2002-10-03 13:10
2002.10.14
Глобальные переменные и потоки


14-45532
Lamer86
2002-09-17 14:56
2002.10.14
Как довести училку по информатике


1-45417
Natangelina
2002-10-03 13:41
2002.10.14
Закрытие формы


1-45440
Zemal
2002-10-03 16:35
2002.10.14
Помогите с регистрацией сервиса для Windows NT 4.0


1-45244
shiroch
2002-10-04 09:58
2002.10.14
Трабл с подключением процедуры на asm