Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

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

01.01.2007
{ **** UBPFD *********** by kladovka.net.ru ****
>> Получение текста из буфера обмена без использования модуля Clipbrd
 
Wnd - Handle окна, получающего доступ к буферу обмена;
Str - строка, в которую будет скопирован текст;
 
Зависимости: Windows
Автор:       Dimka Maslov, mainbox@endimus.ru, 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;