Получение текста из буфера обмена без использования модуля Clipbrd

Получение текста из буфера обмена без использования модуля Clipbrd

{ **** UBPFD *********** by kladovka.net.ru ****
>>
Wnd - Handle окна, получающего доступ к буферу обмена;
Str - строка, в которую будет скопирован текст;
Зависимости: Windows
Автор: Dimka Maslov, <a href="mailto:mainbox@endimus.ru">mainbox@endimus.ru</a>, ICQ:148442121, Санкт-Петербург
Copyright: Dimka Maslov
Дата: 22 августа 2002 г.
********************************************** }

function GetClipboardText(Wnd: HWND; var Str: string): Boolean;
var
 hData: HGlobal;
begin
 Result:=True;
 if OpenClipboard(Wnd) then begin
 try
  hData:=GetClipboardData(CF_TEXT);
  if hData<>0 then begin
  try
  SetString(Str, PChar(GlobalLock(hData)), GlobalSize(hData));
  finally
  GlobalUnlock(hData);
  end;
  end else Result:=False;
  Str:=PChar(@Str[1]);
 finally
  CloseClipboard;
 end;
 end else Result:=False;
end;

Пример использования:

function TForm1.Button2Click(Sender: TObject)

var

 Str: string;

begin

 GetClipboardText(Handle, Str);

 ShowMessage(Str);

end;

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...