Delphi-Help

Главная Статьи Буфер обмена Как скопировать текст в буфер обмена без использования модуля Clipbrd?

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

Оцените материал
(0 голосов)


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

function SetClipboardText( Wnd: HWND; Value: string ): boolean;
var
  hData: HGlobal;
  pData: pointer;
  Len: integer;
begin
   Result := true;
   if OpenClipboard( Wnd ) then
   begin
      try
         Len := Length( Value ) + 1;
         hData := GlobalAlloc( GMEM_MOVEABLE or GMEM_DDESHARE, Len );
         try
            pData := GlobalLock( hData );
            try
               Move( PChar( Value )^, pData^, Len );
               EmptyClipboard;
               SetClipboardData( CF_Text, hData );
            finally
               GlobalUnlock( hData );
            end;
         except
            GlobalFree( hData );
            raise
         end;
      finally
         CloseClipboard;
      end;
   end
   else
      Result := false;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   SetClipboardText( Handle, 'qwerty' );
end;
Прочитано 3625 раз

Авторизация



Счетчики