Главная

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

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

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

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;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  Str: string;
begin
   GetClipboardText( Handle, Str );
   ShowMessage( Str );
end;
Прочитано 4153 раз

Авторизация



Счетчики