procedure TForm1.Button1Click(Sender: TObject);
var hMem: Cardinal; lpStr: PChar;
begin
OpenClipboard(Handle);
hMem := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, Length(Edit1.Text) + 1);
lpStr := GlobalLock(hMem);
lstrcpy(lpStr, PChar(Edit1.Text));
SetClipboardData(CF_TEXT, hMem);
GlobalUnlock(hMem);
GlobalFree(hMem);
CloseClipboard;
end;