Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Windows API / MS.NET Framework API (https://www.delphipraxis.net/20-library-windows-api-ms-net-framework-api/)
-   -   Delphi mittels API Text in die Zwischenablage schreiben (https://www.delphipraxis.net/5689-mittels-api-text-die-zwischenablage-schreiben.html)

OrallY 15. Jun 2003 20:09


mittels API Text in die Zwischenablage schreiben
 
Im Großen und Ganzen sind dies Funktionen, die in der VCL-Klasse TClipboard gekapselt sind:
Delphi-Quellcode:
procedure SetClipboardText(aText: PChar);

  procedure SetBuffer(Format: Word; var Buffer; Size: Integer);
  var
    Data: THandle;
    DataPtr: Pointer;
  begin
    OpenClipboard(hWnd); //Clipboard wird für die Anwendung geöffnet (hWnd muss das Fensterhandle sein)
    try
      EmptyClipboard; // !Wichtig! Nur so kann das oben angegebene Fenster der "Besitzer" des Clipboards werden
      Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, Size);
      try
        DataPtr := GlobalLock(Data);
        try
          Move(Buffer, DataPtr^, Size);
          SetClipboardData(Format, Data);
        finally
          GlobalUnlock(Data);
        end;
      except
        GlobalFree(Data);
        raise;
      end;
    finally
      CloseClipboard; //und wieder den Clipboard freigeben
    end;
  end;

begin
  SetBuffer(CF_TEXT, aText^, Length(aText) + 1);
end;
[edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz