Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Вниз

Динамическое копирование информации в Richedit   Найти похожие ветки 

 
seregka   (2005-05-20 21:38) [0]

Мне нужно реализовать:
выделяем в IE произвольно текст. Из выпадющего меню выбираем программу (уже реализовано) и передаем выделенный текст в RichEdit программы.

Подскажите, как это сделать.


 
KilkennyCat ©   (2005-05-21 11:32) [1]

Работать с буфером обмена, естественно.


 
seregka   (2005-05-21 11:47) [2]

я понимаю, что с буфером
Как мне сделать так,чтобы по запуску программы происходило копирование выделенной в окне броузера информации в буфер. Дальше то понятно - вставлять из буфера в richedit. А вот как в него копировать текст не знаю.
Помогите, пожалуйста.


 
KilkennyCat ©   (2005-05-21 11:50) [3]

Это надо послать сообщение WM_COPY окну, где текст.


 
seregka   (2005-05-21 12:00) [4]

Подскажите, как вытянуть handle окна IE и правильно отправить сообщение. Просто я в этом плохо соображаю:
sendmessage(броузера handle, WM_COPY, ?,?)


 
GrayFace ©   (2005-05-21 17:57) [5]

Если ты сможешь получить hWnd самого IE, то дальше не проблема. Должна быть возможность не только запихнуть прогу в меню, но и получить какие-то сведения. В противном случае можно использовать самый верхний IE. Возможность есть?


 
seregka   (2005-05-21 18:09) [6]

в том то и дело, что я не знаю как получить hwnd броузера. Сколько бы IE не было открыто, надо копировать только из текущего. Программа запускается из контекстного меню броузера.


 
rOOse ©   (2005-05-21 19:00) [7]

procedure TForm1.Button2Click(Sender: TObject);
var
 hg:HGLOBAL;
 lpv:pointer;
 buff:array[0..50] of char;
begin
    buff:="sdfgsf3213123";
    OpenClipboard(0);
    hg:= GlobalAlloc(GMEM_MOVEABLE, strlen(buff));
    lpv:= GlobalLock(hg);
    copymemory(lpv, @buff, strlen(buff));
    GlobalUnlock(hg);
    SetClipboardData(CF_TEXT, hg);
    CloseClipboard();
end;


 
seregka   (2005-05-21 19:21) [8]

зачем городить огород, когда можно просто
richedit.copytoclipboard;

Мне же нужно выделенный в броузере текст копировать в буфер обмена


 
rOOse ©   (2005-05-21 19:24) [9]

а ты не забыл что задаешь вопрос в разделе winapi


 
Anatoly Podgoretsky ©   (2005-05-21 19:36) [10]

Ctrl+C/Ctrl+V


 
seregka   (2005-05-21 19:50) [11]

rOOse
Никак нет! Но Ваш код на копирование в буфер не решает моей главной проблемы - как передать из броузера в программу.

Anatoly Podgoretsky
Актуально!! Главное, автоматизированно :-))


 
Anatoly Podgoretsky ©   (2005-05-21 20:22) [12]

Действий немного меньше, чем вызывать попап меню, затем в нем пункт копировать.
Есть старый лозунг - не сметь трогать буфер обмена зараза!. Не твое.


 
seregka   (2005-05-21 20:27) [13]

проблему решил:

function GetSelectedIEtext: string;
var
  x: Integer;
  Sw: IShellWindows;
  IE: HWND;
begin
  IE := FindWindow("IEFrame", nil);
  sw := CoShellWindows.Create;
  for x := SW.Count - 1 downto 0 do
    if (Sw.Item(x) as IWebbrowser2).hwnd = IE then begin
      Result := variant(Sw.Item(x)).Document.Selection.createRange.Text;
      break;
    end;
end;



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

Форум: "WinAPI";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.065 c
10-1097128475
KV
2004-10-07 09:54
2005.07.18
При отладке COM объекта не доходит до брейкпоинта


14-1119531872
kaif
2005-06-23 17:04
2005.07.18
Голосование: кто порождает СПАМ, заказчики или рассыльщики?


1-1120411079
petr1
2005-07-03 21:17
2005.07.18
FastNet


4-1116861129
Volume
2005-05-23 19:12
2005.07.18
Мышь


14-1119506487
Ega23
2005-06-23 10:01
2005.07.18
С днем рождения! 23 июня





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский