Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Информация из буфера обмена, как получить из браузера? 
V
    Опции темы
MacTep
Дата 22.6.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Реализовано программно следующее:
1) двигаю курсор к определенному месту в браузере (mouse_event);
2) делаю двойной щелчок (mouse_event) для выделения текста;
3) имитирую нажатие ctrl+c (keybrd_event), тем самым копируя текст в буфер обмена;
4) ОЧЕНЬ СИЛЬНО ХОЧУ получить текст из буфера обмена, но не получается...

Может кто-то поможет?


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
THandle
Дата 22.6.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Цитата(MacTep @  22.6.2009,  17:39 Найти цитируемый пост)
4) ОЧЕНЬ СИЛЬНО ХОЧУ получить текст из буфера обмена, но не получается...


А как пытаешься получить? Через TClipboard? Показывай код, что не получается.
PM   Вверх
MacTep
Дата 22.6.2009, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Поискал тут по форуму, но не нашел решения. Много слов и в итоге много нерешенного! ;)

Делаю такое: 
Код

unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Menus, CoolTrayIcon, Clipbrd, ShellAPI;

type
  TfrmMain = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
  public
    MyMouse: TMouse;
  end;
  procedure PageUp;
  procedure PageDown;
  procedure MouseLeftClick;
  procedure MouseDoubleClick;
  procedure CtrlC;
  procedure GetMoneyCount;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := True;
end;

procedure PageUp;
begin
  // PageUp
  keybd_event(VK_PRIOR, 0, 0, 0);
  keybd_event(VK_PRIOR, 0, KEYEVENTF_KEYUP, 0);
end;

procedure PageDown;
begin
  // PageUp
  keybd_event(VK_NEXT, 0, 0, 0);
  keybd_event(VK_NEXT, 0, KEYEVENTF_KEYUP, 0);
end;

procedure MouseLeftClick;
begin
  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
end;

procedure MouseDoubleClick;
begin
  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
end;

procedure CtrlC;
begin
  keybd_event(VK_CONTROL, 0, 0, 0);
  keybd_event(VK_INSERT, 0, 0, 0);
  Sleep(100);
  keybd_event(VK_INSERT, 0, KEYEVENTF_KEYUP, 0);
  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
end;

procedure GetMoneyCount;
begin
  PageUp;
  PageUp;
  SetCursorPos(0, 0);
  SetCursorPos(480, 220);
  MouseDoubleClick;
  CtrlC;
end;

procedure TfrmMain.Timer1Timer(Sender: TObject);
begin
  GetMoneyCount;
  ShowMessage(clipboard.astext); // ни фига не работает ... такое ощущение, что во время работы проги, пока она в памяти, в буфер вообще нифего не копируется :(((
  timer1.Enabled := false;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  Clipboard.Open;
end;

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Clipboard.Close;
end;

end.


Добавлено через 9 минут и 51 секунду
Ошибку нашел! Ужас....
Код

Clipboard.Open
Clipboard.Close

делать не надо! Горе от ума, называется! smile))


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.