Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
.:EAGLE:.
240 / 91 / 6
Регистрация: 11.12.2008
Сообщений: 945
1

Буфер обмена и ссылка

24.07.2009, 15:13. Просмотров 1443. Ответов 2
Метки нет (Все метки)

Добрый день!
Как можно получить ссылку из буфера обмена?
Т.е. если ты копируешь картинки, текст и т.д. программа ничего не делала, а как только в буфер скопирована ссылка, программа должна записать ее в переменную типа String.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2009, 15:13
Ответы с готовыми решениями:

Буфер обмена
как занести из делфи инфу(текст) в буфер обмена, а потом вставить ее в любое...

Нестандартный буфер обмена
Здравствуйте, Уважаемые профессионалы! Я конено прочитал правила, но к...

Ловля события копирования в буфер обмена
Здрасте. У меня возникла проблема с отловкой события копирования в буфер...

Как вырезать файл в буфер обмена?
Нужно вырезать файл в буфер обмена из-под моей программы. Так, чтобы потом...

Прога - Буфер обмена - Word, Excel.
Всех приветствую! Вопрос такой. Как подсказать Ворду и Экселю, что данные в...

2
Dream
157 / 155 / 16
Регистрация: 26.07.2008
Сообщений: 549
28.07.2009, 10:08 2
Код Delphi12345678910 uses ClipBrd....var s: string;begins:=ClipBoard.AsText; // считывает из буфераend;*beginClipBoard.AsText:='наш текст в буфер'; //помещает в буфер наш текстend;






То что в буфере ссылка можно определять по: http:// или по: https:// или по: www
1
Somebody
2802 / 1613 / 251
Регистрация: 03.12.2007
Сообщений: 4,215
Завершенные тесты: 3
28.07.2009, 14:45 3
Вот есть WinApiшный пример, пищит, когда в текст в буфере содержит "Hello":
Код
uses
  Windows, Messages;
const
  HWND_MESSAGE = HWND(-3);
  WndClassName = 'ClipboardControlWndClass';
var
  hNextWindow: HWND;

function WndProc(hWindow: HWND; Msg: Cardinal; wParam, lParam: Integer): Integer; stdcall;
var
  hClipboardData: THandle;
  pData: PChar;
begin
  Result := 0;
  case Msg of
    WM_CREATE:
      hNextWindow := SetClipboardViewer(hWindow);
    WM_DESTROY:
    begin
      ChangeClipboardChain(hWindow, hNextWindow);
      PostQuitMessage(0);
    end;
    WM_CLOSE:
      DestroyWindow(hWindow);
    WM_CHANGECBCHAIN:
    begin
      if HWND(wParam) = hNextWindow then
        hNextWindow := HWND(lParam)
      else if hNextWindow <> 0 then
        SendMessage(hNextWindow, Msg, wParam, lParam);
    end;
    WM_DRAWCLIPBOARD:
    begin
      if IsClipboardFormatAvailable(CF_TEXT) and
        OpenClipboard(hWindow) then
      begin
        hClipboardData := GetClipboardData(CF_TEXT);
        if hClipboardData <> 0 then
        begin
          pData := GlobalLock(hClipboardData);
          if pData <> nil then
          begin
            if Pos('Hello', pData) <> 0 then
              Beep(2000, 100);
            GlobalUnlock(hClipboardData);
          end;
        end;
        CloseClipboard();
        if hNextWindow <> 0 then
          SendMessage(hNextWindow, Msg, wParam, lParam);
      end;
    end;
    else
      Result := DefWindowProc(hWindow, Msg, wParam, lParam);
  end;
end;

var
  WindowClass: WNDCLASS;
  Mess: MSG;
begin
  FillChar(WindowClass, SizeOf(WindowClass), 0);
  WindowClass.lpfnWndProc := @WndProc;
  WindowClass.hInstance := hInstance;
  WindowClass.lpszClassName := WndClassName;
  RegisterClass(WindowClass);
  CreateWindow(WndClassName, nil, 0, 0, 0, 0, 0, HWND_MESSAGE, 0, hInstance, nil);
  while GetMessage(Mess, 0, 0, 0) do
    DispatchMessage(Mess);
  halt(Mess.wParam);
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2009, 14:45

Выделение текста в файле и помещение его в буфер обмена
есть у кого какие идеи как это сделать?

Как записать текст в буфер обмена, который занят программой?
Доброго времени суток, в общем такое дело. Пишу программу для моментального...

Копирование адреса ссылки в буфер при нажатии на ссылку
Привет всем! Объясню в чем смысл. Очень часто в инете я нахожу какие либо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru