Как получить текст из буфера обмена без использования модуля 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; |