Главная страница
    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.05 c
3-1117703191
jiny
2005-06-02 13:06
2005.07.18
проблема с вложенными запросами


8-1110725856
Uncle Dix
2005-03-13 17:57
2005.07.18
Считывание сигнала с линейного входа(Line in) звуковой карты


14-1119587428
Kerk
2005-06-24 08:30
2005.07.18
Что за эпидемия талибанских вирусов?


1-1120148063
Belkova
2005-06-30 20:14
2005.07.18
Процесс не выгружается


1-1119851637
Vad74
2005-06-27 09:53
2005.07.18
Не работает Application.OnHelp в Delphi 6





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский